如何获取MongoDB集合中特定字段的数组元素总数?

时间:2018-09-24 07:57:48

标签: mongodb

我有一个示例json结构,如下所示:

[
  {
    "a": 2,
    "b": [
      2
    ]
  },
  {
    "a": 2,
    "b": [
      2,
      3
    ]
  },
  {
    "b": [
      2,
      3,
      4
    ]
  },
  {
    "a": 2
  }
]

我想计算b字段中集合中的元素总数。

当前,我正在使用Java代码从字面上遍历每个文档并计算b的数组大小并添加。

但是,当我浏览MongoDB相关文章(我是MongoDB的新手)时,我发现MongoDB包含丰富的聚合和过滤器。因此,我在考虑是否可以使用Mongo聚合或过滤器来获取集合中字段b的数组npm i --no-package-lock 的数组元素总数,而无需编写一些Java代码。

1 个答案:

答案 0 :(得分:0)

您可以像这样使用聚合

db.mycollection.aggregate([
    { $project: { count: { $size: "$b" } } }
])

Here$size运算符的文档。