要计算数组中元素的数量,请使用聚合框架。首先让我们创建一个包含文档的集合-
>db.countNumberOfElementsDemo.insertOne({"UserMessage":["Hi","Hello","Bye","Awesome"]}); { "acknowledged" : true, "insertedId" : ObjectId("5cef8ec2ef71edecf6a1f6a1") }
在find()
方法的帮助下显示集合中的所有文档-
> db.countNumberOfElementsDemo.find().pretty();
这将产生以下输出-
{ "_id" : ObjectId("5cef8ec2ef71edecf6a1f6a1"), "UserMessage" : [ "Hi", "Hello", "Bye", "Awesome" ] }
以下是查询数组中元素数量的查询-
> db.countNumberOfElementsDemo.aggregate({$project: { NumberOfElements: { $size:"$UserMessage" }}})
这将产生以下输出-
{ "_id" : ObjectId("5cef8ec2ef71edecf6a1f6a1"), "NumberOfElements" : 4 }