mongoose 从父项填充到子项

7fyelxc5  于 2023-02-23  发布在  Go
关注(0)|答案(1)|浏览(134)

我有这3个模型:

const CommentSchema = Schema({
    user: {
        type: Schema.Types.ObjectId,
        ref: 'Usuario'
    },
    comment: {
        type: String,
    },
})
const UsuarioSchema = Schema({
    email: {
        type: String,
        required: true,
        required: true
    },
    password: {
        type: String,
        required: true
    },
})
const PerfilSchema = Schema({
    user: {
        type: Schema.Types.ObjectId,
        ref: 'Usuario'
    },
    especialidad: {
        type: Schema.Types.ObjectId,
        ref: 'Especialidad',
        required: false
    },
})

我正在尝试获取包含用户和Perfil的评论列表**(按特定顺序)**。如何获取该列表?

c6ubokkw

c6ubokkw1#

要获得一个包含用户和perfil的评论列表,可以使用Mongoose的populate()方法,用UsuarioSchema和PerfilSchema中的相应数据填充CommentSchema中的引用。

const Comment = mongoose.model('Comment', CommentSchema);
const Usuario = mongoose.model('Usuario', UsuarioSchema);
const Perfil = mongoose.model('Perfil', PerfilSchema);

Comment.find()
  .populate({
    path: 'user',
    model: 'Usuario',
    populate: {
      path: 'perfil',
      model: 'Perfil',
    }
  })
  .exec((err, comments) => {
    if (err) {
      // handle error
    }
    // do something with the comments
  });

相关问题