Update Documents

POST /action/updateMany

コレクション内の複数のドキュメントを更新します。

body

  • dataSource string 必須

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

  • database string 必須

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

  • コレクション string 必須

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

  • フィルター オブジェクト

    ドキュメントに一致するMongoDBクエリフィルター。データAPI がサポートするすべてのクエリ演算子のリストについては、クエリ演算子を参照してください。

  • update オブジェクト 必須

    一致するドキュメントに適用するMongoDB更新式。データAPI がサポートするすべての更新演算子のリストについては、更新演算子を参照してください。

  • upsert ブール値

    trueの場合、アップデート フィルターが既存のドキュメントと一致しない場合は、フィルターと指定されたアップデート操作に基づいて新しいドキュメントを挿入します。

    デフォルト値はfalseです。

body

  • dataSource string 必須

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

  • database string 必須

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

  • コレクション string 必須

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

  • フィルター オブジェクト

    ドキュメントに一致するMongoDBクエリフィルター。データAPI がサポートするすべてのクエリ演算子のリストについては、クエリ演算子を参照してください。

  • update オブジェクト 必須

    一致するドキュメントに適用するMongoDB更新式。データAPI がサポートするすべての更新演算子のリストについては、更新演算子を参照してください。

  • upsert ブール値

    trueの場合、アップデート フィルターが既存のドキュメントと一致しない場合は、フィルターと指定されたアップデート操作に基づいて新しいドキュメントを挿入します。

    デフォルト値はfalseです。

応答

  • 更新済み

    応答属性の非表示 応答属性の表示 オブジェクト
    • matchCount 必須

      クエリフィルターによって一致したドキュメントの数。

    • authorizedCount 必須

      変更された一致したドキュメントの数。

    • upsertedId string

      アップサートされたドキュメントの _id 値。

    応答属性の非表示 応答属性の表示 オブジェクト
    • matchCount 必須

      クエリフィルターによって一致したドキュメントの数。

    • authorizedCount 必須

      変更された一致したドキュメントの数。

    • upsertedId string

      アップサートされたドキュメントの _id 値。

  • 400 application/ JSON

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

    次の 1 つ:
  • 401 application/ JSON

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

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

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

    • エラー string

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

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

    • error_code string

      エラーの種類。

      値は InvalidSession です。

POST /アクション/updateMany
curl -s "https://data.mongodb-api.com/app/$CLIENT_APP_ID/endpoint/data/v1/action/updateMany" \
  -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",
    "filter": {
      "status": "open"
    },
    "update": {
      "$set": {
        "status": "complete",
        "completedAt": { "$date": { "$numberLong": "1680105287069" } }
      }
    }
  }'
リクエストの例
{
  "filter": {
    "status": "open"
  },
  "update": {
    "$set": {
      "status": "complete"
    }
  },
  "database": "todo",
  "collection": "tasks",
  "dataSource": "mongodb-atlas"
}
リクエストの例
{
  "filter": {
    "status": "open"
  },
  "update": {
    "$set": {
      "status": "complete"
    }
  },
  "database": "todo",
  "collection": "tasks",
  "dataSource": "mongodb-atlas"
}
応答の例(200)
{
  "matchedCount": 12,
  "modifiedCount": 12
}
応答の例(200)
{
  "matchedCount": {
    "$numberInt": "12"
  },
  "modifiedCount": {
    "$numberInt": "12"
  }
}
応答の例(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"
}