ドキュメントの集計

POST /action/aggregate

集計パイプライン を実行します。

body

  • dataSource string 必須

    リンクされた MongoDB Atlas データソースの名前。 これは通常"mongodb-atlas"ですが、データソースの作成時に別の名前を選択した場合、アプリでは異なる場合があります。

  • database string 必須

    指定されたデータソース内のデータベースの名前。

  • コレクション string 必須

    指定したデータベース内のコレクションの名前。

  • パイプライン array[オブジェクト] 必須

    集計ステージの配列。

    MongoDB集計ステージ。データAPIがサポートするすべての集計ステージのリストについては、集計パイプライン ステージの可用性 を参照してください。

    MongoDB集計ステージ。データAPIがサポートするすべての集計ステージのリストについては、集計パイプライン ステージの可用性 を参照してください。

body

  • dataSource string 必須

    リンクされた MongoDB Atlas データソースの名前。 これは通常"mongodb-atlas"ですが、データソースの作成時に別の名前を選択した場合、アプリでは異なる場合があります。

  • database string 必須

    指定されたデータソース内のデータベースの名前。

  • コレクション string 必須

    指定したデータベース内のコレクションの名前。

  • パイプライン array[オブジェクト] 必須

    集計ステージの配列。

    MongoDB集計ステージ。データAPIがサポートするすべての集計ステージのリストについては、集計パイプライン ステージの可用性 を参照してください。

    MongoDB集計ステージ。データAPIがサポートするすべての集計ステージのリストについては、集計パイプライン ステージの可用性 を参照してください。

応答

  • 成功

    応答属性を非表示 応答属性の表示 オブジェクト
    • ドキュメント array[オブジェクト] 必須

      集計の結果セットを含む配列。

      集計の結果セットに含まれるドキュメント。

      集計の結果セットに含まれるドキュメント。

    応答属性を非表示 応答属性の表示 オブジェクト
    • ドキュメント array[オブジェクト] 必須

      集計の結果セットを含む配列。

      集計の結果セットに含まれるドキュメント。

      集計の結果セットに含まれるドキュメント。

  • 400 application/ JSON

    リクエストの形式が正しくないか、不完全でした。

    次の 1 つ:
  • 401 application/ JSON

    認証されたユーザーには、このエンドポイントにアクセスする権限がありません。

    応答属性の非表示 応答属性の表示 オブジェクト

    提供された認証情報に一致するユーザーがなかったことを示します。

    • エラー string

      エラーを説明するメッセージ。

      値は invalid session: error finding user for endpoint です。

    • error_code string

      エラーの種類。

      値は InvalidSession です。

POST /アクション/aggregate
curl -s "https://data.mongodb-api.com/app/$CLIENT_APP_ID/endpoint/data/v1/action/aggregate" \
  -X POST \
  -H "apiKey: $API_KEY" \
  -H 'Content-Type: application/ejson' \
  -H "Accept: application/json" \
  -d '{
    "dataSource": "mongodb-atlas",
    "database": "learn-data-api",
    "collection": "tasks",
    "pipeline": [
      {
        "$match": { "status": "complete" }
      },
      {
        "$group": {
          "_id": "$status",
          "count": { "$sum": 1 },
          "tasks": { "$push": "$text" }
        }
      },
      {
        "$sort": { "count": -1 }
      }
    ]
  }'
リクエストの例
[
  {
    "$groupBy": {
      "_id": "$status",
      "count": {
        "$sum": 1
      },
      "tasks": {
        "$push": "$text"
      }
    }
  },
  {
    "$sort": {
      "count": 1
    }
  }
]
リクエストの例
[
  {
    "$groupBy": {
      "_id": "$status",
      "count": {
        "$sum": 1
      },
      "tasks": {
        "$push": "$text"
      }
    }
  },
  {
    "$sort": {
      "count": 1
    }
  }
]
応答の例(200)
[
  {
    "$groupBy": {
      "_id": "$status",
      "count": {
        "$sum": 1
      },
      "tasks": {
        "$push": "$text"
      }
    }
  },
  {
    "$sort": {
      "count": 1
    }
  }
]
応答の例(200)
[
  {
    "$groupBy": {
      "_id": "$status",
      "count": {
        "$sum": 1
      },
      "tasks": {
        "$push": "$text"
      }
    }
  },
  {
    "$sort": {
      "count": 1
    }
  }
]
応答の例(400)
{
  "error": "no authentication methods were specified",
  "error_code": "InvalidParameter",
  "link": "string"
}
{
  "error": "must specify some form of authentication (either email+password, api-key, or jwt) in the request header or body",
  "error_code": "MissingParameter",
  "link": "string"
}
応答の例(401)
{
  "error": "invalid session: error finding user for endpoint",
  "error_code": "InvalidSession",
  "link": "string"
}