当refs不存在时填充字段

时间:2015-09-16 20:48:51

标签: mongoose mongoose-populate

如果没有存储引用,是否可以通过填充EVEN接收填充的引用列表?

我有这个架构:

_id,姓名,年龄
评论 _id,创作者(= Person._id),文字

不幸的是,我只是在阅读数据而不是存储数据。存储数据的应用程序不会将refs保存到person-documents中的Comments。

是否仍然可以以填充(' comments')的方式定义Person-Schema?我只对接收Comment-ObjectIds数组感兴趣。

var personSchema = mongoose.Schema({
    name: String,
    age: Date,
    comments: [{ type: mongoose.Schema.Types.ObjectId, ref: 'comment' }]
});

如果重要的话,收藏品都是单一的。

我尝试了以下方式:

mongo.Person.find().populate('comments').exec(function(err, person) {
    if (err) { console.log(err); }
    res.json(person);
});

只返回该属性的空数组。

1 个答案:

答案 0 :(得分:-1)

我认为您要列出所有评论_id对吗?我相信您已正确定义了评论的架构,并且您的模型名称是评论。

希望这可以帮到你。

mongo.Person.find().select('comments').populate({path:'comments',select:'_id'}).exec(function(err, games) {
if (err) { console.log(err); }
res.json({ games: games });
  });