所以我的Mongoose / MongoDB-Application中有两个关系:
USER:
{
name: String,
items: [{ type: mongoose.Schema.ObjectId, ref: 'Spot' }]
}
和 ITEM
{
title: String,
price: Number
}
正如您所看到的,我的用户集合包含与项目集合“有很多”的关系。
我想知道如何获取特定用户的items-field中提到的所有项目。
猜猜它非常常见的问题,但我无法在Docs或其他地方找到任何解决方案。有人可以帮我吗?
答案 0 :(得分:1)
如果您要在用户集合中存储项目引用,然后从用户获取所有项目,它将为您提供一系列项目的对象ID,然后您可以根据其ID访问所有项目
var itemIdsArray = User.items;
Item.find({
'_id': { $in: itemIdsArray}
}, function(err, docs){
console.log(docs);
});
答案 1 :(得分:0)
通过使用Mongoose对population的支持,您可以在查询用户的同时获取这些项目:
/blog/home?system=bob