【问题标题】:Eager Fetch has-many relation using NodeJS/Mongoose使用 NodeJS/Mongoose 的 Eager Fetch 具有多关系
【发布时间】:2013-11-19 18:46:41
【问题描述】:

我有以下型号:

LeaderSchema = new app.mongoose.Schema({
    email: String,
    projects: [{ type: app.mongoose.Schema.ObjectId, ref: 'Project'}]
});

ProjectSchema = new app.mongoose.Schema({
    name: { type: String, required: true},
    leader: { type: app.mongoose.Schema.ObjectId, ref: 'Leader'}
});

Leader = app.mongoose.model('Leader', LeaderSchema);
Project = app.mongoose.model('Project', ProjectSchema);

我想在我的控制器中做的是检索所有项目及其各自的领导

projects_controller.js:

module.exports = function(app) {
    app.ProjectsController = {
        index: function(req, res) {
            app.Project.find(function(err, projects) {
                res.send(projects)
            })
        }
    }
}

但这只是给出了只有他们的领导者ID

的项目列表

有没有办法让猫鼬急切地获取领导者

【问题讨论】:

    标签: node.js mongoose mongoose-populate


    【解决方案1】:

    虽然我想要一个定义模型上的急切加载行为的解决方案,但我找到的解决方案是使用populate

    app.Project.find().populate('user').exec(function(err, projects) {
        res.send(projects)
    })
    

    populate 的文档可以在 here at mongoosejs.com 找到。

    【讨论】:

      猜你喜欢
      • 2014-03-27
      • 1970-01-01
      • 2016-05-01
      • 1970-01-01
      • 2021-08-23
      • 2015-04-07
      • 1970-01-01
      • 2019-08-11
      • 2012-10-21
      相关资源
      最近更新 更多