2014-10-07 101 views
1

我有一個蒙戈集合與文檔蒙戈排序

{a:1,b:[2,3,4]} 
    {a:2,b:[1,5,6]} 
    {a:3,b:[3,4,5]} 

我想通過字段B進行排序,這樣的結果是

{a:2,b:[1,5,6]} 
    {a:3,b:[3,4,5]} 
    {a:1,b:[2,3,4]} 

當陣列由他們最高的元素進行排序。

任何想法?

回答

0

當您按數組字段進行排序時,文檔按升序排序,使用每個文檔元素的最小值進行排序,對於降序,文檔是最大值。

因此,對於你的情況,它只是:

db.coll.find().sort({b: -1}) 
+0

但如果有領帶說B:[1,5,6]和b:[3,4,6]在這種情況下,爲了必須1st [1,5,6],因爲5是下一個更高的元素,然後[3,4,6] – 2014-10-07 18:07:29

+0

@NeilKumar這是一個不同的問題,無法以這種方式處理。 – JohnnyHK 2014-10-07 18:09:07