我有一些模型基本上是:
所有者有很多事情
事情有很多用途
我想通过汇总Thing的用途来对所有者进行排序,其中uses.good = true。
基本上我必须有条件地过滤某些用途,获取每个Thing的最终数组的长度,然后对它们求和并按它排序。
这是我到目前为止的近似值:
let owners = await Owner.find().populate({
path: 'things',
populate: {
path: 'uses',
match: {
good: true
}
}
}).sort({
uses : -1
}).exec()
遇到排序问题,不确定这是否是最佳方法,或者我是否应该使用聚合。