gpt4 book ai didi

MongoDB聚合框架按数组长度排序

转载 作者:可可西里 更新时间:2023-11-01 10:05:16 25 4
gpt4 key购买 nike

给定以下数据集:

{ "_id" : ObjectId("510458b188ce1d16e616129b"), "codes" : [ "oxtbyr", "xstute" ], "name" : "Ciao Mambo", "permalink" : "ciaomambo", "visits" : 1 }
{ "_id" : ObjectId("510458b188ce1d16e6161296"), "codes" : [ "zpngwh", "odszfy", "vbvlgr" ], "name" : "Anthony's at Spokane Falls", "permalink" : "anthonysatspokanefalls", "visits" : 0 }

我怎样才能将这个 python/pymongo 类型转换成可以与 MongoDB 聚合框架一起工作的东西?我根据 codes 数组中的代码数量对结果进行排序。

z = [(x['name'], len(x['codes'])) for x in restaurants]
sorted_by_second = sorted(z, key=lambda tup: tup[1], reverse=True)
for x in sorted_by_second:
print x[0], x[1]

这在 python 中有效,我只想知道如何在 MongoDB 查询端完成相同的目标。

最佳答案

> db.z.aggregate({ $unwind:'$codes'}, 
{ $group : {_id:'$_id', count:{$sum:1}}},
{ $sort :{ count: 1}})

关于MongoDB聚合框架按数组长度排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14573471/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com