javascript - 多个填充 - Mongoose js

只是一个简单的查询,例如模型中有一个双引用。

架构/模型

var OrderSchema = new Schema({

    user: {
        type    : Schema.Types.ObjectId,
        ref     : 'User',
        required: true
    },

    meal: {
        type    : Schema.Types.ObjectId,
        ref     : 'Meal',
        required: true
    },
});

var OrderModel = db.model('Order', OrderSchema);

查询

OrderModel.find()
    .populate('user') // works
    .populate('meal') // dont works
    .exec(function (err, results) {
         // callback
    });

我已经尝试过类似的东西

.populate('user meal')
.populate(['user', 'meal'])

事实上,只有一个填充物起作用。

那么,如何让两个种群工作?

最佳答案

您已经使用了正确的语法:

OrderModel.find()
    .populate('user')
    .populate('meal')
    .exec(function (err, results) {
         // callback
    });

也许订单中的 meal ObjectId 不在 Meals 集合中?

关于javascript - 多个填充 - Mongoose js,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12821596/

相关文章:

mongodb - Mongo ids 导致可怕的 URL

mongodb - 仅当 MongoDB 文档字段不存在时,如何更新它们?

mongodb - Mongo复杂排序?

mongodb - 获取文档的特定部分

python - 为什么 PyMongo 3 给出 ServerSelectionTimeoutEr

mongodb - 如何获取 MongoDB 中单个索引的大小?

python - 如何检查 MongoDB 实例的客户端是否有效?

mongodb - 在 MongoDB 中,如何使用 $set 更新嵌套值/嵌入文档?

mongodb - MongoDB中count()和find().count()的区别

node.js - 为什么MongoDB Node Driver生成实例池被破坏错误?