标签: python mongodb pymongo
我正在做一个汇总,在某个阶段,我得到以下结果:
[{ "_id" : 1, "array_field": [1, 2, 3]}, { "_id" : 2, "array_field": [3, 2, 1]}]
我想在下一阶段对array_field进行排序:
[{ "_id" : 1, "array_field": [1, 2, 3]}, { "_id" : 2, "array_field": [1, 2, 3]}]
有什么可能? $ sort并没有帮助我。
答案 0 :(得分:1)
您需要$unwind array_field,然后再次$group进行回滚
$unwind
array_field
$group
db.collection.aggregate([ { "$unwind": "$array_field" }, { "$sort": { "array_field": 1 }}, { "$group": { "_id": "$_id", "array_field": { "$push": "$array_field" } }} ])