用MongoDB计算数组中的元素数量?

要计算数组中元素的数量,请使用聚合框架。首先让我们创建一个包含文档的集合-

>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 }