fullDocument
विकल्प (दूसरा) तर्क के लिए पैरामीटर watch
update
. के लिए दस्तावेज़ में परिवर्तनों का वर्णन करने वाला डेल्टा प्राप्त करने के लिए विधि का उपयोग किया जा सकता है संचालन:
const thoughtChangeStream = connection.collection("phonenumbers").watch([], {
fullDocument: 'updateLookup'
});
thoughtChangeStream.on("change", (change) => {
io.of("/api/socket").emit("newThought", change);
});
इसके बाद यह इस तरह एक प्रतिक्रिया दस्तावेज़ लौटाएगा जहां updateDescription
इसमें वे फ़ील्ड शामिल हैं जिन्हें अद्यतन द्वारा संशोधित किया गया था:
{
_id: {
_data: '8260931772000000012B022C0100296E5A1004ABFC09CB5798444C8126B1DBABB9859946645F696400646082EA7F05B619F0D586DA440004'
},
operationType: 'update',
clusterTime: Timestamp { _bsontype: 'Timestamp', low_: 1, high_: 1620252530 },
ns: { db: 'yourDatabase', coll: 'yourCollection' },
documentKey: { _id: 6082ea7f05b619f0d586da44 },
updateDescription: {
updatedFields: { updatedField: 'newValue' },
removedFields: []
}
}
नोट:यह केवल update
के लिए काम करेगा संचालन और replace
. के लिए काम नहीं करेगा , delete
, insert
, आदि.
यह भी देखें:
- http://mongodb.github.io/ node-mongodb-native/3.0/api/Collection.html ।
- https://docs.mongodb.com/manual/reference/change -इवेंट/