MongoDB 查询可统计文档中数组项的数量,并在新字段中显示
要在文档中统计数组项的数量,请在 MongoDB 中使用 $size。让我们创建一个包含文档的集合 −
> db.demo703.insertOne({"ListOfSubject":["MySQL","MongoDB"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea6ebaf551299a9f98c93b4")
}
> db.demo703.insertOne({"ListOfSubject":["Java"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea6ebb5551299a9f98c93b5")
}
> db.demo703.insertOne({"ListOfSubject":["C","C++","Python"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5ea6ebbf551299a9f98c93b6")
}借助 find() 方法从集合中显示所有文档 −
> db.demo703.find();
这将生成以下输出 −
{ "_id" : ObjectId("5ea6ebaf551299a9f98c93b4"), "ListOfSubject" : [ "MySQL", "MongoDB" ] }
{ "_id" : ObjectId("5ea6ebb5551299a9f98c93b5"), "ListOfSubject" : [ "Java" ] }
{ "_id" : ObjectId("5ea6ebbf551299a9f98c93b6"), "ListOfSubject" : [ "C", "C++", "Python" ] }以下是用于统计数组项数量的查询 −
>db.demo703.aggregate({$project:{NumberOfItemsInEachArray:{$size:"$ListOfSubject"}}}).pretty();这将生成以下输出 −
{
"_id" : ObjectId("5ea6ebaf551299a9f98c93b4"),
"NumberOfItemsInEachArray" : 2
}
{
"_id" : ObjectId("5ea6ebb5551299a9f98c93b5"),
"NumberOfItemsInEachArray" : 1
}
{
"_id" : ObjectId("5ea6ebbf551299a9f98c93b6"),
"NumberOfItemsInEachArray" : 3
}
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP