如何过滤 sails.js 中填充的值?
How can I filter populated values in sails.js?
我有模型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 找到其他属性。
我该怎么做?
其实问题是我对人口标准的理解有误。解决方案是
为 User
和 UserPost
模型创建一对多关联
找到用户并将其填充到他的post。类似于:
User.findOne({
id: 42
}).populate('userPosts').exec(function(err, user) {
res.json(user.userPosts);
});
这个效果很好。
我有模型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 找到其他属性。
我该怎么做?
其实问题是我对人口标准的理解有误。解决方案是
为
User
和UserPost
模型创建一对多关联找到用户并将其填充到他的post。类似于:
User.findOne({
id: 42
}).populate('userPosts').exec(function(err, user) {
res.json(user.userPosts);
});
这个效果很好。