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 中执行其他常见操作: