MongoDB聚合$ slice以获取数组的长度

为此,请使用$project,然后使用$size来获取长度。首先让我们创建一个包含文档的集合-

> db.demo382.insertOne(

...    {

...

...       "Name" : "David",

...       "details" : [

...          {

...             "SubjectName":"MySQL"

...          },

...          {

...             "SubjectName":"MongoDB"

...          },

...          {

...             "SubjectName":"Java"

...          }

...       ]

...

...    }

... );

{

   "acknowledged" : true,

   "insertedId" : ObjectId("5e5b5e1c22064be7ab44e7f0")

}

find()方法&Minus;的帮助下显示集合中的所有文档。

> db.demo382.find().pretty();

这将产生以下输出-

{

   "_id" : ObjectId("5e5b5e1c22064be7ab44e7f0"),

   "Name" : "David",

   "details" : [

      {

         "SubjectName" : "MySQL"

      },

      {

         "SubjectName" : "MongoDB"

      },

      {

         "SubjectName" : "Java"

      }

   ]

}

以下是汇总$slice并获取长度的查询-

> db.demo382.aggregate([

...    { "$match": { "Name": "David" } },

...    { "$project": { "count": { "$size": "$details" }}}

... ])

这将产生以下输出-

{ "_id" : ObjectId("5e5b5e1c22064be7ab44e7f0"), "count" : 3 }

以上是 MongoDB聚合$ slice以获取数组的长度 的全部内容, 来源链接: utcz.com/z/338216.html

回到顶部