我有两个表用户(字段:名称,年龄)和链接(字段:title,url,userId(引用用户))。用户与链接之间存在一对多关系。现在,我想运行一个类似的查询:select * from users from users of users,年龄超过26岁。
我一直在尝试查询:
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应该是一个足够简单的查询来支持它。我可能不知道该怎么做,你对此有什么想法吗?感谢。