gpt4 book ai didi

javascript - node-mongodb-native - 游标在每次调用期间返回 null 作为最后一个值

转载 作者:数据小太阳 更新时间:2023-10-29 04:03:48 26 4
gpt4 key购买 nike

所以。我有一个非常基本的脚本,它连接到数据库并在包含大量文档的集合上执行 find 并将其限制为 3 个项目。一切都运行顺利,除了在我的结果结束时,一个 null 并且脚本不会终止而不是在成功后安静地关闭连接。

在这里我声明我的参数并创建我的数据库对象:

var SERVER = 'localhost',
PORT = 27017,
DATABASE = 'test',
COLLECTION = 'coll',
mongo = require('mongodb'),
db = new mongo.Db(DATABASE,
new mongo.Server(SERVER, PORT, {auto_reconnect: true}),
{});

在这里,我连接到数据库并使用 find 游标和 each 函数继续查询它:

db.open(function(err, db) {
if(err) throw err;
var collection = new mongo.Collection(db, COLLECTION),
cursor = collection.find({}, {}).limit(3);
cursor.each(function(err, doc) {
if(err) throw err;
console.log(doc);
});
db.close();
});

结果不错:

{ _id: '1',
a: 'first object' }
{ _id: '2',
a: 'second object' }
{ _id: '3',
a: 'third object' }

直到a点

null

出现。

如上文所述,脚本不会终止。

我不明白为什么,希望能得到有关如何使其正常终止的指示。

最佳答案

这个问题已经有几年了,并且已经有了一个可能的答案,但我只是想为阅读本文后仍然感到困惑的任何人指出另一种可能性。事实证明,each 重复调用 nextObject,这实际上是为了在游标耗尽时返回 null。

这里的答案是我需要的:Node Mongo Native - how to tell when a cursor is exhausted?

来自 Node MongoDB 驱动程序文档:http://mongodb.github.io/node-mongodb-native/api-generated/cursor.html#nextobject

关于javascript - node-mongodb-native - 游标在每次调用期间返回 null 作为最后一个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12205533/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com