Update Documents

发布 /action/updateMany

更新集合中的多个文档。

body

  • dataSource 字符串 必需

    链接的 MongoDB Atlas 数据源的名称。它通常为 "mongodb-atlas",但如果您在创建数据源时选择了不同的名称,则在应用程序中可能具有不同的名称。

  • database 字符串 必需

    指定的数据源中的数据库名称。

  • 集合 字符串 必需

    指定的数据库中的集合名称。

  • 筛选器 对象

    匹配文档的 MongoDB 查询筛选条件。有关 Data API 支持的所有查询运算符的列表,请参阅查询运算符

  • update 对象 必需

    要应用于匹配文档的 MongoDB 更新表达式。有关 Data API 支持的所有更新操作符的列表,请参阅更新操作符

  • 更新插入 布尔

    如果为 true,在更新筛选器与任何现有文档都不匹配时,将根据筛选器和指定的更新操作插入新文档。

    默认值为false

body

  • dataSource 字符串 必需

    链接的 MongoDB Atlas 数据源的名称。它通常为 "mongodb-atlas",但如果您在创建数据源时选择了不同的名称,则在应用程序中可能具有不同的名称。

  • database 字符串 必需

    指定的数据源中的数据库名称。

  • 集合 字符串 必需

    指定的数据库中的集合名称。

  • 筛选器 对象

    匹配文档的 MongoDB 查询筛选条件。有关 Data API 支持的所有查询运算符的列表,请参阅查询运算符

  • update 对象 必需

    要应用于匹配文档的 MongoDB 更新表达式。有关 Data API 支持的所有更新操作符的列表,请参阅更新操作符

  • 更新插入 布尔

    如果为 true,在更新筛选器与任何现有文档都不匹配时,将根据筛选器和指定的更新操作插入新文档。

    默认值为false

响应

  • Updated

    隐藏响应属性 显示响应属性 对象
    • 匹配计数 必需

      查询过滤匹配的文档数。

    • modifiedCount 必需

      已修改的匹配文档的数量。

    • upsertedId 字符串

      已更新或插入的文档的 _id 值。

    隐藏响应属性 显示响应属性 对象
    • 匹配计数 必需

      查询过滤匹配的文档数。

    • modifiedCount 必需

      已修改的匹配文档的数量。

    • upsertedId 字符串

      已更新或插入的文档的 _id 值。

  • 400 application/json

    请求格式不正确或不完整。

    以下之一:
  • 401 application/json

    经过身份验证的用户没有访问权限此端点的权限。

    隐藏响应属性 显示响应属性 对象

    表示没有用户与提供的身份验证凭证匹配。

    • 错误 字符串

      描述错误的消息。

      值为 invalid session: error finding user for endpoint

    • error_code 字符串

      错误类型。

      值为 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"
}