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

Sails.js: How to find records based on values in associated collection?

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

我希望类似的东西可以工作,但似乎不受支持:

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

我得到的最接近的是:

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

但问题是它仍然 returns 所有记录,只是不填充与填充 where 语句不匹配的记录。

无法先搜索charges的原因是想根据Record中的其中一个值对数据进行排序

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

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