【发布时间】:2018-08-26 20:27:33
【问题描述】:
我正在尝试确定变更流之间的区别: https://docs.mongodb.com/manual/changeStreams https://docs.mongodb.com/manual/reference/method/db.collection.watch/
看起来像这样:
const changeStream = collection.watch();
changeStream.next(function(err, next) {
expect(err).to.equal(null);
client.close();
done();
});
和一个可尾光标: https://docs.mongodb.com/manual/core/tailable-cursors/
看起来像这样:
const cursor = coll.find(self.query || query)
.addCursorFlag('tailable', true)
.addCursorFlag('awaitData', true) // true or false?
.addCursorFlag('noCursorTimeout', true)
.addCursorFlag('oplogReplay', true)
.setCursorOption('numberOfRetries', Number.MAX_VALUE)
.setCursorOption('tailableRetryInterval', 200);
const strm = cursor.stream(); // Node.js transform stream
他们有不同的用例吗?什么时候最好使用一个而不是另一个?
【问题讨论】:
标签: node.js mongodb mongoose mongodb-query