Python Mongo基于字段内的字段进行排序

时间:2013-07-18 19:31:25

标签: python mongodb sorting pymongo

我有以下形状的条目:

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

我想基于innerField以降序对它们进行排序,但我对sort函数的理解仅限于知道如何基于外部字段进行排序。如何根据内部字段对mongo查询进行排序?

1 个答案:

答案 0 :(得分:0)

可以使用dot notation(例如outerfield1.innerField)访问文档中的子字段。

在Mongo shell中,您可以使用以下方法进行排序:

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

如果您使用的是Python,则可能需要编写代码:

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

你需要这样做的原因是Python的dict是一个无序的数据结构。有关详细信息,请参阅:https://stackoverflow.com/a/10242305/117919