populate()中的条件不起作用

时间:2015-04-19 07:24:24

标签: node.js sails.js waterline

我想查询具有指定用户的Image表,但我的代码无效。

Image.find().populate('user', { id : '1' }).sort({ updatedAt: 'desc' }).exec(function(err, images){
  console.log(images)
});

它仍然向所有用户展示。

如何查询?感谢。

2 个答案:

答案 0 :(得分:1)

populate 方法用于获取模型的相关数据

您应该修改您的查询,如下所示

Image.find({ user: '1' }).populate('user').sort({ updatedAt: 'desc' }).exec(function(err, images){
  console.log(images)
});

答案 1 :(得分:1)

@Ryan告诉我,我可以这样做,

Image.find({ user: '1' }).populate('user').sort({ updatedAt: 'desc' }).exec(function(err, images){
  console.log(images)
});

非常感谢它的工作。

但我想用这样的用户状态查询呢?

Image.find().populate('user', { status : 'ban' }).sort({ updatedAt: 'desc' }).exec(function(err, images){
  console.log(images)
});

它无法正常工作。它向我展示了所有用户。

我该怎么办?