Pymongo $ sort参数顺序

时间:2018-02-01 07:47:08

标签: python mongodb sorting

我有这样的一种:

db.getCollection('TEST').aggregate([
    {'$sort': {'create_time': 1, 'status': 1}}
])

它有2个排序字段,mongo将首先排序create_time字段,然后排序status。但是在python dict中排序混乱,有时会先排序create_time,有时候排序status create_time首先,问题是如何确保它始终先对def createRobotDict(self,obj): return ast.literal_eval(obj) 进行排序?

1 个答案:

答案 0 :(得分:0)

您可以简单地进行排序,而不是aggregate

这是模式:

.sort([("field1", pymongo.ASCENDING), ("field2", pymongo.DESCENDING)])

您可以链接这些功能,以便您可以限制文档首先按过滤器排序:

db.getCollection('TEST').find({ field1: <value>, field2: <value> ... }).sort([("field3", pymongo.ASCENDING), ("field4", pymongo.DESCENDING)])

作为旁注:.find()和.sort()中的字段不需要不同。