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

基于字段内字段的Python Mongo排序,python,mongodb,sorting,pymongo,Python,Mongodb,Sorting,Pymongo,我有以下形式的条目: { outerField1 : { "innerField" : 1 } outerField2 : "blah" } 我想根据内部字段按降序对它们进行排序,但我对排序函数的理解仅限于知道如何根据外部字段进行排序。如何根据内部字段对mongo查询进行排序?可以使用访问文档中的子字段(例如,outerfield1.innerField) 在Mongo shell中,您可以使用以下命令

我有以下形式的条目:

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

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

可以使用访问文档中的子字段(例如,
outerfield1.innerField

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

sort({'outerField1.innerField': -1})
如果您使用的是Python,则可能需要编写:

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

需要这样做的原因是Python的dict是一个无序的数据结构。有关详细信息,请参阅:

好问题!你试过什么了吗?我试过排序({o':{autoLaunched':1}})之类的东西,但到目前为止没有结果。仍在搜索可能的答案。这给了我一个错误:raise TypeError(“如果未指定方向,则TypeError:如果未指定方向,则key_或_list必须是list的实例。降序为:
sort({'outerField1.innerField':-1})< /代码> - 1表示降序排序。这有帮助,现在问题是我的数据集太大,没有索引的排序。我将限制它$GT,看看是否有帮助。您可以用非常相同的点表示法创建< <代码>内字段> /代码>的索引:此外,如果您始终没有“代码>内射域< /COD>值,请考虑使用。稀疏索引: