我有一个关于使用REST API修补MarkLogic数据库中的文档的问题.

我有一个用.NET Core编写的服务,我使用MarkLogic作为我的数据存储.在我的情况下,我必须修补数千个文档,如果可能的话,我不想提出数千个请求.更具体地说,我必须在JSON文档的某些部分添加一些属性. 遵循以下指南:

我明白,使用补丁请求,我们一次只能更新一个文档,所以我try 这样发布(目前只有一个补丁操作示例)

POST http://host:port/v1/documents HTTP/1.1
Authorization: Basic autorization
Content-Type: multipart/mixed; boundary=BOUNDARY

--BOUNDARY
Content-Type: application/json
Content-Disposition: category=content; attachment; filename=/documents/first_document_to_update.json
X-HTTP-Method-Override: PATCH

{
  "patch": [
    {
      <patch property insert definition>
    }
  ]
}
--BOUNDARY--

但它只是在URI的Content-Disposal头上创建了一个具有Content From边界的文档.我还try 在POST请求上直接使用X-HTTP-METHOD-OVERRIDE标头,但也没有成功--我得到了

{
  "errorResponse": {
    "statusCode": 400,
    "status": "Bad Request",
    "messageCode": "REST-REQUIREDPARAM",
    "message": "REST-REQUIREDPARAM: (err:FOER0000) Required parameter: uri"
  }
}

因此,我的结论是,不可能使用一个POST请求对多个文档进行补丁更新,对吗?还是我错过了什么重要的东西?

MarkLogic版本:10

推荐答案

为什么不提出成千上万的要求呢?

如果您以多线程方式这样做,您可以完成更多工作,而不必担心大型事务超时或超出某些限制而出错.您可以将负载分散到整个集群,而不是只使用一个 node 来完成所有工作.

即使你弄清楚了如何一次完成多个任务,我还是建议你多线程操作,多个小请求,类似于CoRB个任务.

Json相关问答推荐

按照对象键的值对PostgreSQL JSONB对象进行排序'

将json数组反序列化为选项 struct

PowerShell脚本-替换json数组(转义$var将被视为不带双引号的文本)

与错误相关的未定义&Quot;不是有效的JSON

ArcGIS json到Geojson的变换

PowerShell女士:如何处理json对象?

Jolt-Json转换:通过引用标识符(而不是索引)设置值

无法在 json --data 中使用变量

JOLT JSON 将值从一对多转换为一对一

Nifi - 忽略(或删除)JSON 的第一个数字

MarkLogic REST 资源 API - 仅使用一个 POST 请求修补多个文档

如何将 XML 转换为 PsCustomObject 以允许最终导出为 JSON?

在 C# 中解析 Json rest api 响应

验证和格式化 JSON 文件

TypeError: b'1' 不是 JSON 可序列化的

waitUntilAllTask​​sAreFinished 错误 Swift

字符串格式 JSON 字符串给出 KeyError

未调用 npm package.json 脚本

XML vs YAML vs JSON

Javascript对象和JSON对象有什么区别