如何在sails.js中过滤填充值?

时间:2015-02-28 13:57:02

标签: javascript node.js join sails.js waterline

我有模型User。为了简化我的问题,它没有属性(除了由sails引擎生成的id):

module.exports = {

}

我还有模型UserPost

module.exports = {
    attributes: {
        user: {
            required: true,
            model: 'user'
        }
    }
}

我想查找id等于42的用户帖子。我在数据库中有这些记录,id为42的用户及其帖子。

这不起作用:

UserPost.find().populate('user', {
    id: 42
}).exec(function(err, posts) {
    res.json(posts);
});

当然,在这种情况下,我可以将查询条件传递给find()。无论如何,总的来说我不仅可以找到id,还可以找到其他属性。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

事实上,问题是我对人口标准的错误理解。解决方案是

  • UserUserPost模型创建一对多关联

  • 找到用户并将其填充到他的帖子中。类似的东西:

User.findOne({
    id: 42
}).populate('userPosts').exec(function(err, user) {
    res.json(user.userPosts);
});

这很有效。