Mongodb:如何计算字段中的不同值


您可以使用以下方法来统计 MongoDB 中特定字段中的不同值:

方法 1:查找不同值的列表

 db.collection.distinct( 'field_name' )

方法 2:查找不同值的数量

 db.collection.distinct( 'field_name' ).length

以下示例展示了如何通过收集团队使用每种方法并提供以下文档:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })
db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 })
db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })

示例 1:查找不同值的列表

我们可以使用以下代码来查找“team”字段中不同值的列表:

 db.teams.distinct( 'team' )

该查询返回以下结果:

 ['Cavs', 'Mavs', 'Rockets']

结果显示所有文档的三个不同的团队名称。

我们还可以使用以下代码来查找“position”字段中不同值的列表:

 db.teams.distinct( 'position' )

该查询返回以下结果:

 ['Center', 'Forward', 'Guard']

注意:MongoDB 默认按字母顺序对不同值进行排序。

示例 2:查找唯一值的数量

我们可以使用以下代码来统计“team”字段中不同值的数量:

 db.teams.distinct( 'team' ).length

该查询返回以下结果:

 3

这告诉我们“团队”字段中有3 个不同的值。

我们还可以使用以下代码来统计“points”字段中唯一值的数量:

 db.teams.distinct( 'points' ).length

该查询返回以下结果:

 5

这告诉我们“points”字段中有5 个不同的值。

注意:您可以在此处找到该单独函数的完整文档。

其他资源

以下教程解释了如何在 MongoDB 中执行其他常见操作:

MongoDB:如何分组和计数
MongoDB:如何按多个字段分组
MongoDB:如何查找集合中的最大值

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注