javascript - 解释 mongoose 查询的输出

标签 javascript mongodb mongoose

有人可以向我解释为什么当我执行以下代码时,我得到一个空列表吗?

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/

相关文章:

javascript - Django - 在模板中显示 Json 或 Httpresponse

javascript - 主干同步回调总是使用错误

mongodb - 当数据库大小大于 RAM 时,MongoDB 可以工作吗?

javascript - Mongoose如何查看正在生成哪个mongodb查询,数据库没有返回任何内容

javascript - kineticjs 文本溢出行为

graph - Raphael 的折线图库可以绘制不一致的时间序列数据吗?

java - 如何在mongodb中插入元数据

node.js - 如何在保存后将属性保存到 Mongoose 文档

node.js - 文章的 Mongoose 架构

Mongoose 模式 - 必需的子级,而不是父级