如何统计 MongoDB 中每个字段/键的不同数值?
你可以使用 distinct 命令来实现这个目的。为了理解这个概念,让我们创建一个带有文档的集合。创建带有文档的集合的查询如下所示 -
> db.distinctCountValuesDemo.insertOne({"StudentFirstName":"John","StudentFavouriteSubject":["C","C++","Java","MySQL","C","C++"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a39f193b406bd3df60e07")
}
> db.distinctCountValuesDemo.insertOne({"StudentFirstName":"Larry","StudentFavouriteSubject":["MongoDB","SQL Server"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5c8a3a1193b406bd3df60e08")
}使用 find() 方法显示集合中的所有文档。查询如下 -
> db.distinctCountValuesDemo.find().pretty();
以下是输出 -
{
"_id" : ObjectId("5c8a39f193b406bd3df60e07"),
"StudentFirstName" : "John",
"StudentFavouriteSubject" : [
"C",
"C++",
"Java",
"MySQL",
"C",
"C++"
]
}
{
"_id" : ObjectId("5c8a3a1193b406bd3df60e08"),
"StudentFirstName" : "Larry",
"StudentFavouriteSubject" : [
"MongoDB",
"SQL Server"
]
}以下是查找每个字段/键不同的数值的查询 -
> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject');以下是输出 -
[ "C", "C++", "Java", "MySQL", "MongoDB", "SQL Server" ]
以下是查找数组中不同值长度的查询 -
> db.distinctCountValuesDemo.distinct('StudentFavouriteSubject').length;以下是输出 -
6
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
JavaScript
PHP