有人可以向我解释为什么当我执行以下代码时,我得到一个空列表吗?
Post.find({ "emailPublisher": req.body.emailUser }, { _id: 0, "idPost": 1 }, function (err, idsposts) {
console.log(idsposts)
for (i in idsposts) { list.push(idsposts[i].idPost) }
});
console.log("list is " + list);
看起来像这一行:
console.log("list is " + list);
发生在查找查询之前。
最佳答案
您需要将其插入回调中:
Post.find({ "emailPublisher": req.body.emailUser }, { _id: 0, "idPost": 1 }, function (err, idsposts) {
console.log(idsposts)
for (i in idsposts) { list.push(idsposts[i].idPost) }
console.log("list is " + list);
});
查找是一个异步操作。
关于javascript - 解释 mongoose 查询的输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38459906/