对数据库执行聚合查询。

方法定义

该方法的定义如下:
aggregate(pipeline: object | object[], options?: object): Promise<MongoResult>

请求参数

该方法接收11个参数,其定义如下:

字段名 类型 必填 说明
pipeline Array 聚合查询对象。
options Object 控制项。
options.explain Boolean 是否返回执行计划。
options.allowDiskUse Boolean 是否在聚合查询执行的过程中使用磁盘存储临时数据。
options.maxTimeMS Number 执行查询的超时时间。
options.bypassDocumentValidation Boolean 是否允许绕过文档验证。
options.raw Boolean 是否将结果作为 BSON Buffer 返回。
options.promoteLongs Boolean 是否将 long 数据类型提升为 Number。
options.promoteValues Boolean 是否将 BSON 值的类型提升为本地类型。
options.promoteBuffers Boolean 是否将 BSON Buffer 转换为 Node Buffer。
options.collation Object 指定更新的排序顺序。

示例

mpserverless.db.collection('users').aggregate([
    {
      $match: {
        _id: {
          $in: insertRet.insertedIds
        }
      },
    },
    {
      $project: {
        name: 1,
        address: 1
      }
    }, {
      $group: {
        _id: '$name',
        count: {$sum: 1}
      }
    },{
      $match: {
        count: {
          $gt: 1
        }
      }
    }
  ]);