基于字段内字段的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>值,请考虑使用。稀疏索引: