// 创建一个人物数据结构
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的圖書館範例