无法获得猫鼬“填充”#39;上班

时间:2014-07-31 09:00:26

标签: node.js mongodb mongoose

我坚持在一个简单的mongoose(3.8.8)查询中填充ref字段。 这可能是一个愚蠢的问题,但实际上我无法解决这个问题。

var Schema = mongoose.Schema;

var ItemSchema = new Schema({
    description: { type: String },
    comments: [ { type:Schema.Types.ObjectId, ref:'Comment'} ],
    created: { type: Date, default: Date.now }
});

var Item = mongoose.model('Item', ItemSchema);

var CommentSchema = new Schema({
    text: { type: String },
    item_id: { type:Schema.Types.ObjectId, ref:'Item'} ,
    created: { type: Date, default: Date.now }
});

var Comment = mongoose.model('Comment', CommentSchema);

Item.find().populate('comments').exec(function(err,item){

    console.log('Item ',item)

})

数据是:

/* item0 */
{
  "_id" : ObjectId("53da00cc5ddd29442463e716"),
  "description" : "item1",
  "created" : ISODate("2014-07-31T08:39:40.475Z"),
  "comments" : [],
  "__v" : 0
}

/* item1 */
{
  "_id" : ObjectId("53da00cc5ddd29442463e717"),
  "description" : "item2",
  "created" : ISODate("2014-07-31T08:39:40.478Z"),
  "comments" : [],
  "__v" : 0
}



/* comment0 */
{
  "_id" : ObjectId("53da01e9ef4ecaa0231fdc8d"),
  "item_id" : ObjectId("53da00cc5ddd29442463e716"),
  "text" : "comment1",
  "created" : ISODate("2014-07-31T08:44:25.768Z"),
  "__v" : 0
}

它只是按预期工作,而不是填写评论'数组,在我的评论集合中,item_id被正确填充。 问题是什么?

提前致谢

0 个答案:

没有答案