我有一个如下所示的用户架构,我试图填充实时项目数组,但我不知道如何访问它。

const userSchema = new Schema({
  local: {
    email: String,
    username: String,
    password: String,
    liveProjects: [{
      type: mongoose.Schema.Types.ObjectId,
      ref: 'liveProject'
    }]
  },
  google: {
    googleId: String,
    email: String,
    username: String,
    liveProjects: [{
      type: mongoose.Schema.Types.ObjectId,
      ref: 'liveProject'
    }]
  }
});

const User = mongoose.model('user', userSchema);
module.exports = User;


如果没有嵌入,我可以使用

User.findById(id).populate('liveProjects').exec((err,projects)=>{});


但是如何获得对'local.liveProjects''google.liveProjects'的访问权限,以便可以填充它们?

最佳答案

事实证明它就像

User.findById(id).populate('local.liveProjects').exec((err,projects)=>{});

关于node.js - 用 Mongoose 填充嵌套数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47982644/

10-09 04:07