javascript - mongoose聯合查詢populate怎麼用的?
学习ing
学习ing 2017-06-23 09:12:11
0
1
924
// 创建一个人物数据结构
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

学习ing
学习ing

全部回覆(1)
洪涛
        post:[{
            type:Schema.ObjectId,
            ref:'postModel'
        }]

另外要注意ref的字段要和你註冊的model的名稱一致, 否則populate操作不會成功
參考這個
https://github.com/YueminHu/l...
建議去學習下MDN的圖書館範例

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板