当前位置: 首页 > 编程笔记 >

使用MongoDB聚合计算NAME字段中重复名称的频率?

甄文彬
2023-03-14
本文向大家介绍使用MongoDB聚合计算NAME字段中重复名称的频率?,包括了使用MongoDB聚合计算NAME字段中重复名称的频率?的使用技巧和注意事项,需要的朋友参考一下

要计算频率,请在中与$group分组aggregate()。让我们创建一个包含文档的集合-

> db.demo635.insertOne({Name:"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c10f06c954c74be91e6cc")
}
> db.demo635.insertOne({Name:"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c10f46c954c74be91e6cd")
}
> db.demo635.insertOne({Name:"David"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c10f66c954c74be91e6ce")
}
> db.demo635.insertOne({Name:"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c10f86c954c74be91e6cf")
}
> db.demo635.insertOne({Name:"Bob"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c10fb6c954c74be91e6d0")
}
> db.demo635.insertOne({Name:"Chris"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5e9c10fc6c954c74be91e6d1")
}

find()方法的帮助下显示集合中的所有文档-

> db.demo635.find();

这将产生以下输出-

{ "_id" : ObjectId("5e9c10f06c954c74be91e6cc"), "Name" : "Chris" }
{ "_id" : ObjectId("5e9c10f46c954c74be91e6cd"), "Name" : "David" }
{ "_id" : ObjectId("5e9c10f66c954c74be91e6ce"), "Name" : "David" }
{ "_id" : ObjectId("5e9c10f86c954c74be91e6cf"), "Name" : "Chris" }
{ "_id" : ObjectId("5e9c10fb6c954c74be91e6d0"), "Name" : "Bob" }
{ "_id" : ObjectId("5e9c10fc6c954c74be91e6d1"), "Name" : "Chris" }

以下是使用MongoDB聚合框架计算频率的查询-

> db.demo635.aggregate([
...    { $unwind: "$Name" },
...    { $group: { "_id": "$Name", TotalFrequency: { $sum : 1 } } }
...    ]
... );

这将产生以下输出-

{ "_id" : "David", "TotalFrequency" : 2 }
{ "_id" : "Bob", "TotalFrequency" : 1 }
{ "_id" : "Chris", "TotalFrequency" : 3 }
 类似资料:
  • 本文向大家介绍使用MongoDB聚合按多个字段进行计数,包括了使用MongoDB聚合按多个字段进行计数的使用技巧和注意事项,需要的朋友参考一下 要按多个字段计数,请在MongoDB中使用$facet。在$facet处理在同一组输入文档的单级中的多个聚集的管道。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是要按多个字段计数的查询- 这将产

  • 给定具有以下文档结构的MongoDB集合: 其中每个文档包含一个子文档数组,我希望将集合转换为以下结构的文档: 其中每个子文档现在是主文档中以子文档中的一个值命名的新字段的值(在该示例中,< code>animal字段的值用于创建新字段的名称,即< code>cat和< code>dog)。 我知道如何使用爪哇脚本片段进行。它很慢。我的问题是:如何使用聚合管道完成此操作?

  • 基本上,我试图通过名字和姓氏找到重复的联系人 我错过了什么吗?任何帮助都将不胜感激。 下面是示例文档之一 我试图对Elasticsearch进行如下查询:

  • 我在mongodb中有一个非常大的项目集合,其模式无法更改。简化版的样子是这样的: 集合非常大,我无法首先提取应用程序中的所有ip地址,然后计算每个ip地址的事件。 这能用地图/缩小吗。你有什么建议?

  • 我目前不知道这是如何启用的,但每次我在编辑器中打开一个需要一些参数的文件时,它都会在左侧显示其名称。E、 图中显示的是“值:”。我想禁用它,这样它就不会再显示了。

  • 本文向大家介绍MongoDB 中聚合统计计算--$SUM表达式,包括了MongoDB 中聚合统计计算--$SUM表达式的使用技巧和注意事项,需要的朋友参考一下 我们一般通过表达式$sum来计算总和。因为MongoDB的文档有数组字段,所以可以简单的将计算总和分成两种: 1,统计符合条件的所有文档的某个字段的总和; 2,统计每个文档的数组字段里面的各个数据值的和。这两种情况都可以通过$sum表达式来