mongoose联合查询populate怎么用的?
// 创建一个人物数据结构
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
另外要注意
ref
的字段要和你注册的model
的名称一致, 否则populate
操作不会成功参考这个
https://github.com/YueminHu/l...
建议去学习下MDN的图书馆例子