MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

So überwachen Sie Änderungen an bestimmten Feldern im MongoDB-Änderungsstream

Also habe ich das herausgefunden...

Für alle anderen Interessierten:Meine "Pipeline" (Filter in meinem Beispiel) muss ein Array sein

das funktioniert...

const MongoClient = require('mongodb').MongoClient;

const uri = 'mongodb://localhost:27017/?replicaSet=rs0';
MongoClient.connect(uri, function(err, client) {

    const db = client.db('mydb');
    // Connect using MongoClient
    var filter = [{
        $match: {
            $and: [
                { "updateDescription.updatedFields.SomeFieldA": { $exists: true } },
                { operationType: "update" }]
        }
    }];

    var options = { fullDocument: 'updateLookup' };
    db.collection('somecollection').watch(filter, options).on('change', data => 
    {
        console.log(new Date(), data);
    });
});