2015-09-16 45 views
0

如果refs没有存储,是否可以通过填充EVEN来接收填充的refs列表?当refs不存在时填充字段

我有这样的模式:

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

Unfortonly我只是读取数据,而不是存储它。存储数据的应用程序不会将参考文件保存到人员文档中的评论。

是否仍有可能以填充('注释')的方式定义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); 
}); 

刚刚返回该属性的空数组。

回答

0

我认为你想列出所有的评论_id正确吗?我相信你已经正确定义了评论的模式,并且你的模型名称是评论。

希望这可以帮助你。

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

让我知道它是否工作 –