我正在寻找一种使用Sails.js Waterline进行子查询的方法。该记录与Charge模型相关。
我希望类似的东西能起作用,但是似乎不被支持
var topRecords = await Record.find({'charge.paid':true});
我最接近的是这个
var topRecords = await Record.find().populate('charge',{paid:true});
但是问题在于无论如何,它仍然会返回所有记录,只是不会填充与填充where语句不匹配的记录。
之所以不能首先搜索费用,是因为我想根据“记录”中的一个值对数据进行排序。
答案 0 :(得分:1)
您可以获取Charge
,然后使用.map
从那里获取记录。
const topCharges = await Charge.find({ paid: true }).populate('records');
const topRecords = topCharges.map(charge => charge.record);