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他們的「價格」是一樣的。 –
所以我怎麼能按兩個字段或兩個以上的字段排序文件。有沒有插件或方法? –