javascript - 多个填充 - Mongoose js

标签 javascript node.js mongodb mongoose

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

架构/模型

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/

相关文章:

javascript - 在 Rhino 的服务器脚本中使用 jwt 生成 jsrsasign

javascript - 如何在 Sublime 3 中禁用 jshint 的 Missing "use strict"语句?

javascript - 在 Node.js 中覆盖文件

javascript - JS 嵌套循环楼梯

javascript - 如何在不破坏链接的情况下替换部分网址?

MongoDB Atlas Golang mgo包 "No reachable servers"错误

javascript - Mongodb,在插入新值之前检查对象/模型的数组

mongodb - 使用 MongoVUE 在 Amazon 的 EC2 (AWS) 上登录 Mongo

node.js - 如何为不同阶段的React应用程序构建?

node.js - mongoose - 按 id 删除元素