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)?
生成的游标遍历当前数据。
使用 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)?
生成的游标遍历当前数据。