如何获取数组中的对象数量?猫鼬

时间:2021-02-02 16:47:17

标签: javascript mongodb mongoose

我有一个包含对象的数组,如何获取其中的对象数量?

数组示例:

{
   "users":[
      {
         "uid":9,
         "special":7,
         "coins":15000,
         "messages":85
      },
      {
         "uid":11,
         "special":7,
         "coins":15000,
         "messages":754
      },
      {
         "uid":12,
         "special":7,
         "coins":15000,
         "messages":575
      }
   ]
}

1 个答案:

答案 0 :(得分:0)

您可以在聚合管道中使用 $size 以这种方式获取数组的总大小。

  • $set 是将字段 size 设置为数组的总长度。
  • $project 仅输出 size 字段。
db.collection.aggregate({
  "$set": {
    "size": {
      "$size": "$users"
    }
  }
},
{
  "$project": {
    "size": 1
  }
})

示例here