mongoose populate返回null数组

时间:2016-01-22 01:28:53

标签: node.js mongodb

猫鼬与人口的关系不是很好。这是我的模特

{ "_id" : ObjectId("56a17cd70a498fcc37cdbe60"), "username" : "test", "password" : "test", "books" : [ ObjectId("56a17d21d43dc32a3a9837de"), ObjectId("56a17ee5d43dc32a3a9837e4"), ObjectId("56a17f5dd43dc32a3a9837e6"), ObjectId("56a17f9fd43dc32a3a9837e8") ], "__v" : 4 }

数据库看起来正确。

users.findOne({'_id':userid}).populate('books').exec(function(err,data){
            if (err) return console.error(err);

            if(data){

            }
});

但是当我填充时,我得到一个空的'书'数组

{{1}}

一切都在那里它根本就不会填充。任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:5)

ref中的userSchema似乎不正确,它应该引用book架构,而不是user架构本身。

var book = mongoose.model('Book', bookSchema);

...
books: [{type: Schema.Types.ObjectId, ref: 'book'}]