如何使用 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】:

您可以只使用$groupName 字段分组,并在其中使用$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 中重命名父字段名称和嵌套字段值?

如何使用 pymongo 将新的值数组附加到 mongodb 中的现有数组文档?

如何使用 PyMongo 基于 Flask URL 变量检索 MongoDB 中的记录?

如何更新 pymongo

如何使用 python mongodb 客户端库(pymongo)更新 mongodb 集合中所有文档的字段“类型”