MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Renvoie un tableau spécifique de la collection d'objets

Le fullDocument paramètre aux options (deuxième) argument du watch La méthode peut être utilisée pour obtenir un delta décrivant les modifications apportées au document pour la update opérations :

const thoughtChangeStream = connection.collection("phonenumbers").watch([], {
  fullDocument: 'updateLookup'
});

thoughtChangeStream.on("change", (change) => {
   
  io.of("/api/socket").emit("newThought", change);

});

Cela renverra alors un document de réponse comme celui-ci où updateDescription contient les champs qui ont été modifiés par la mise à jour :

{
  _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: []
  }
}

Remarque :Cela ne fonctionnera que pour la update opérations et ne fonctionnera pas pour replace , delete , insert , etc.

Voir aussi :