2013-07-18 80 views
1

我在形狀條目中:Python的蒙戈排序字段

{ 
    outerField1 : { 
        "innerField" : 1 
       } 
    outerField2 : "blah" 
} 

我想他們在遞減基礎上,innerField進行排序,但我的排序功能的理解是僅限於瞭解如何根據外部場進行排序。我將如何對基於內部字段的mongo查詢進行排序?

+0

好問題!你有沒有嘗試過任何東西? – jsalonen

+1

我嘗試過類似的東西({'o':{'autoLaunched':1}}),但目前爲止沒有結果。仍在尋找可能的答案。 –

回答

0

可以使用dot notation(例如outerfield1.innerField)訪問文檔中的子字段。

在蒙戈外殼,你可以做到這一點排序使用:

sort({'outerField1.innerField': -1}) 

如果你在Python中,您可能需要而不是寫:

sort([("outerField1.innerField": -1)]) 

你需要做的就是這個道理Python的字典是一個無序的數據結構。詳情請參閱:https://stackoverflow.com/a/10242305/117919

+0

這給了我一個錯誤: raise TypeError(「如果沒有指定方向」, TypeError:如果沒有指定方向,key_or_list必須是列表的一個實例 –

+0

哦,對,你在Python上。 ! – jsalonen

+0

降序排列如下:'sort({'outerField1.innerField': - 1})'-1表示降序排列。 – drz