我使用mongodb和mongoose开发应用程序。我有一个名为product的集合,其中包含以下字段:
{
color:String,
sizes: [{type: String}],
gender: String, //can be women / men / kids
price: {
type: Number, required: true, min: 0
},
likes: {type: Number, default: 0},
views: {type: Number, default: 0},
}
我希望使用聚合来按大小L过滤文档,并对喜欢和升序排序对价格执行降序排序。 这是我正在使用的查询:
aggregate([{$match:{sizes:['L']}},{$sort:{price:1,likes:-1}}])
但我得到的结果只是通过$ sort对象中的第一个字段对文档进行排序,这就是价格而且它们没有按喜欢排序。 所以有什么问题?我尝试了不同的领域和订单,每次都得到相同的结果。