在 node.js 服务器中,使用 mongodb 本机驱动程序,我想从游标中检索记录,然后将它们输出为 JSON。我有这个(简化)
var ans = {ids: []};
cursor.each(function(err, doc) {
if (doc) {
ans.ids.push(doc.tag);
}
});
cursor.count(function(err, result) {
ans.count = result;
res.send(JSON.stringify(ans));
});
结果是这样的{ids:[], count: 3}
。换句话说,查询似乎在没有返回任何记录的情况下运行。我认为这是因为在cursor.each
回调运行之前已经发送了数据。我如何重新构建它以确保在迭代之后发送?