[英]How do I sort array of dictionaries in Pymongo?
我在users
數據庫中有這個示例 MongoDB 條目:
{
_id: xxx,
name: "name",
files:[{
fileName: "test",
size: 50
},
{
fileName: "test2",
size: 44
},
{
fileName: "test3",
size: 120
}
]
}
我正在嘗試使用 Pymongo 按大小對文件進行排序。
如何使用aggregate
命令對字典進行排序? 換句話說,我希望它到 output 這個,在這種情況下,按降序排列:
[
{
fileName: "test3",
size: 120
},
{
fileName: "test",
size: 50
},
{
fileName: "test2",
size: 44
}
]
我找不到僅獲取數組本身並將其轉換為 Python 列表的方法,因此我可以在使用 Pymongo 庫之外對其進行排序,這就是為什么我正在研究使用 Pymongo 庫來完成這項工作.
這是我提出的解決方案。 它完全符合我的需要。
db.users.aggregate([
{
"$unwind": "$files"
},
{
"$sort": {
"files.size": 1
}
},
{
"$replaceRoot": {
newRoot: "$files"
}
}
])
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.