我知道这将是我所缺少的一些小东西,但我会感谢您的帮助。
这是我的测试脚本(node.js)
<小时/>var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://localhost:27017/myTestDB',
function (err, db) {
if (err)
debugger;
else {
db.collection('test', function (err, collection) {
collection.save({ name: "danny" }, function () { debugger;});
collection.find(function (err, results) {
if(results.items.length == 0){
///======> always = 0 !!!! WHY?!!!!
debugger;
}
});
});
}
db.close();
});
<小时/>
请随意以“duh!”开始你的回答
最佳答案
更新:您还需要在 find
回调中移动 db.close();
调用,否则您将关闭连接在你完成之前。
在您的示例中,results
是一个游标,而不是文档数组,因此您需要对其调用 toArray
来迭代游标并获取数组文档。但您还需要将 find
调用放入 save
回调中。否则,find
将在 save
完成之前执行。
所以像这样:
collection.save({ name: "danny" }, function () {
collection.find().toArray(function (err, results) {
// results contains the array of docs
// Now you can close the connection.
db.close();
});
});
关于node.js - MongoDB 发现返回零结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19186222/