MongoDB链接关系
我有两个表用户(字段:姓名、年龄)和链接(字段:标题、url、用户ID(参考用户))。用户与链接之间存在一对多关系。现在我想运行一个查询,如:select*from链接,其中用户年龄超过26岁 我一直在尝试以下查询:MongoDB链接关系,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,我有两个表用户(字段:姓名、年龄)和链接(字段:标题、url、用户ID(参考用户))。用户与链接之间存在一对多关系。现在我想运行一个查询,如:select*from链接,其中用户年龄超过26岁 我一直在尝试以下查询: Links .find({title:'Chemistry'}) .populate({ path: 'userId', select: 'name.first age -_id', match: {age: {$g
Links
.find({title:'Chemistry'})
.populate({
path: 'userId',
select: 'name.first age -_id',
match: {age: {$gte: 26}}
})
.exec( function(err,data) {
if (err) console.log( err );
console.log( 'data', data);
res.jsonp(data);
});
这给了我以下结果:
[
{
_id: "54037d00e74f00f917e709ff",
title: "Chemistry",
url: "http://chemistry.com",
comment: "Great chemo slides",
favourites: "507",
userId: {
name: {
first: "Bob"
},
age: 31
},
tags: [
"tutorials",
"chemo"
]
},
{
_id: "540457f2557cded82b331ee2",
title: "Chemistry",
url: "http://chemistry.com",
comment: "Great chemo slides",
favourites: "507",
userId: null,
tags: [
"tutorials",
"chemo"
]
}
]
请注意,第二个对象中的userId为null。我不确定我的查询是否正确,但我认为它应该是一个足够简单的查询,mongodb可以支持它。我可能不知道怎么做,你知道吗?谢谢。在填充之前,链接文档是什么样子的?链接文档中引用的用户文档看起来像什么?@wdberkeley-你是说我有什么模型模式吗?我不确定我是否了解你们的问题,但在填充之前的链接文档和上面的文档相同,除了userId对象。