我有架构
var likedSchema = new Schema({
counter: {type: Number, default: 0, required: true},
user: {type: Array, default: [], ref: 'User'}
});
上面的模式包含了用户和计数器的ObjectId数。
var mySchema = new Schema({
liked: likedSchema,
name: {type: String, required: true}
});
在上面的架构中,我使用的是likesSchema
mongoose.model('MyModel', mySchema);
这是定义的两个架构。 在likesSchema中,我有多个用户记录的objectIds。
通过使用mySchema,我想填充这些记录以获取所有用户的详细信息。
liked: {counter: 1, user:[{"name":
"smith","_id":"5a437f06b2a00b28ecf217a9"},{"name":
"john","_id":"5a437f06b2a00b28ecf21192"}];
我需要以上述格式显示数据,并附上用户详细信息。 任何人都可以帮我解决问题。
答案 0 :(得分:2)
:
user: [{
type: mongoose.Schema.Types.ObjectId,
ref: "User"
}]
然后在查询数据库时,例如使用findById,使用populate,如下所示:
MySchema.findById({someId}).populate("liked.user").exec(err, foundObject){
//if no error, then you have the object with a list of users in the liked object here.
console.log(foundObject.liked); //obviously in your code, have an if (err) line before this
}