如何使用 PyMongo 在 MongoDB 中获取不同的名称和计数
Posted
技术标签:
【中文标题】如何使用 PyMongo 在 MongoDB 中获取不同的名称和计数【英文标题】:How to get distinct name and count in MongoDB using PyMongo 【发布时间】:2020-09-04 17:25:46 【问题描述】:我有以下集合,如下所示。我想要的只是独特的“名称”和计数。例如 Betty 出现 2 次,所以我想要的输出是 Betty:2, Vic:1, Veronica:2。我可以通过发出命令“db.Car.find().distinct('Name')”来获得不同的名称,但不知道如何获得计数。
"Name": "Betty",
"Car": "Jeep",
"Name": "Betty",
"Car": "Van",
"Name": "Vic",
"Car": "Ferrari",
"Name": "Veronica",
"Car": "Bus",
"Name": "Veronica",
"Car": "Van",
【问题讨论】:
这能回答你的问题吗? How to count all unique values In MONGODB? 【参考方案1】:您可以只使用$group
按Name
字段分组,并在其中使用$sum
运算符来获取Count
字段。
如下所示:
db.collection.aggregate([
"$group":
"_id": "$Name",
"Count":
"$sum": 1
,
"$project":
"Name": "$_id",
"Count": 1,
"_id":0
])
以上将产生以下输出:
[
"Count": 2,
"Name": "Betty"
,
"Count": 1,
"Name": "Vic"
,
"Count": 2,
"Name": "Veronica"
]
【讨论】:
以上是关于如何使用 PyMongo 在 MongoDB 中获取不同的名称和计数的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 pymongo 在 mongodb 中重命名父字段名称和嵌套字段值?
如何使用 pymongo 将新的值数组附加到 mongodb 中的现有数组文档?