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);
我正在寻找一种使用 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);