// 创建一个人物数据结构
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)
});
这是什么原因呢?
换过用ObjectId查询,也是一样的结果,mongoose版本4.10.6,node版本8.1.0
另外要注意
ref
的字段要和你注册的model
的名称一致, 否则populate
操作不会成功参考这个
https://github.com/YueminHu/l...
建议去学习下MDN的图书馆例子