Sails.js:如何根据关联集合中的值查找记录?

时间:2019-01-30 02:32:50

标签: node.js mongodb sails.js waterline

我正在寻找一种使用Sails.js Waterline进行子查询的方法。该记录与Charge模型相关。

我希望类似的东西能起作用,但是似乎不被支持

var topRecords = await Record.find({'charge.paid':true});

我最接近的是这个

var topRecords = await Record.find().populate('charge',{paid:true});

但是问题在于无论如何,它仍然会返回所有记录,只是不会填充与填充where语句不匹配的记录。

之所以不能首先搜索费用,是因为我想根据“记录”中的一个值对数据进行排序。

1 个答案:

答案 0 :(得分:1)

您可以获取Charge,然后使用.map从那里获取记录。

const topCharges = await Charge.find({ paid: true }).populate('records');
const topRecords = topCharges.map(charge => charge.record);