MongoDB链接关系

时间:2014-09-01 21:37:36

标签: mongodb mongoose mongodb-query

我有两个表用户(字段:名称,年龄)和链接(字段: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应该是一个足够简单的查询来支持它。我可能不知道该怎么做,你对此有什么想法吗?感谢。

0 个答案:

没有答案