MongoDB - find() 是实时的吗?

MongoDB - Is find() realtime?

使用 node-mongodb-native npm 包,在 node.js 应用程序中,如果我在 long-running [=28= 早期获得 collection object ] 异步脚本,像这样:

var collection = await db.collection(collectionName);

如果 collection 在我执行 find() 方法之前被修改,这个 collection object 的结果是否是当前的,或者它只会显示我获得 collection object 时的数据?

例如,假设 10 分钟后脚本到达如下一行:

let cursor = await collection.find({});

另外假设在这段时间里,在调用 find() 之前添加、删除和修改了项目。

生成的光标会导航当前数据还是数据会与我获取 collection object(在脚本开头)时一样?

我真的怀疑它会在您获取 collection 时拍摄快照。

参见: https://docs.mongodb.com/manual/reference/method/db.getCollection/

Return find 的值将成为当前状态的游标。

Wil the resulting cursor navigate current data or will the data be as it was at the time that I acquired the collection object (at the beginning of the script)?

生成的游标遍历当前数据。