在mongoose的人口
我有这个mongoose模式:
var wishListSchema = new Schema({ items: [{ type: Schema.Types.ObjectId, ref: 'Items' }] }); var wishList = mongoose.model('WishList', wishListSchema, 'WishList');
我有另外一个mongoose模式
var itemSchema = new Schema({ "name":String, "description":String }); var item= mongoose.model('Items', itemSchema, 'Items');
和这个:
var UserSchema = new Schema({ "name":String, "surname":String, "wishList": { type: Schema.Types.ObjectId, ref: 'WishList' } });
但是当我从数据库中获取用户,并尝试填充wishList和项目时,项目的结果为空
User.findOne({name:name}) .populate({ path:"wishList", populate: { path:"items" } }) .exec(function(err, userDb){ console.log(userDb); });
结果是:
{ _id: "56f85549334635c01b19bc37", name: "AAA", surname: "BBB" wishList: { _id: "56f85549334635c01b19bc39", __v: 0, items: [ ] } }
尝试这个:
User.findOne({name:name}) .populate({ path:"wishList", select: "items" }) .exec(function(err, userDb){ console.log(userDb); });