This bug has been fixed by mongodb.
Ref to PR: mongodb/node-mongodb-native#1816
This is demo project shows mongodb change streams change event bug.
// listen to change twice
changeStream.on("change", function(change) {
console.log("change callback1");
});
changeStream.on("change", function(change) {
console.log("change callback2");
});
// insert few data with timeout so that we can watch it happening
setTimeout(function() {
collection.insertOne({ batman: "bruce wayne" }, function(err) {
assert.ifError(err);
});
}, 1000);
run node index.js
, output:
change callback1
change callback2
change callback1
change callback2
expected behavior:
change callback1
change callback2