0
使用mongodb和mongoose开发应用程序。我有一个具有以下字段的集合命名的产品:mongodb通过nodejs中的两个字段排序
{
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()的默认行为是按照你提供的第一个字段进行排序,当第一个字段匹配的时候使用第二个字段进行排序,即如果文档只按'likes'排序if他们的“价格”是一样的。 –
所以我怎么能按两个字段或两个以上的字段排序文件。有没有插件或方法? –