// 创建一个人物数据结构
let personSchema = mongoose.Schema({
_id:Number,
name:String,
post:[{
type:Number,
ref:'postModel'
}]
});
console.log(mongoose.Schema.ObjectId);
// 根据结构生成人物模型
let personModel = mongoose.model('person',personSchema);
let ObjectId = mongoose.Types.ObjectId;
// 创建一个文章数据结构
let postSchema = mongoose.Schema({
_id:Number,
title:String,
author:{
type:Number,
ref:'personModel'
},
content:String
});
// 创建文章模型
let postModel = mongoose.model('post',postSchema);
postModel.find({})
.populate('people')
.exec((err,data)=>{
console.log(data)
});
What is the reason for this?
I changed the query using ObjectId and got the same result, mongoose version 4.10.6, node version 8.1.0
Also note that the
ref
field must be consistent with the name of themodel
you registered, otherwise thepopulate
operation will not be successfulRefer to this
https://github.com/YueminHu/l...
It is recommended to go Learn MDN’s library example