如何分割超过20MB大小的couchbase文档?return message = ValueTooLarge, Suc

本文关键字:return 文档 couchbase message Suc ValueTooLarge 分割 何分割 20MB | 更新日期: 2023-09-27 18:03:23

文档物理大小大于20MB,字符数> 22000000请参阅下面的代码

var jsonDataRow = JsonConvert.SerializeXmlNode(objXML, Newtonsoft.Json.Formatting.None, true);
var document = new Document<string>
    {
        Id = "RR",
        Content = jsonDataRow
    };
var upsert = bucket.Upsert(document);

如何分割超过20MB大小的couchbase文档?return message = ValueTooLarge, Suc

您需要创建一个父文档,其中包含子文档的键:

{
   "id": "parent_doc_1",
   "children": [ "child_doc1", "child_doc2"]
}

子文档分别存储:

{
    "id": "child_doc1",
    "parent_id": "parent_doc_1"
}

{
  "id": "child_doc2",
  "parent_id": "parent_doc_1"
}

然后拉父文档并获得子密钥(id),并使用您选择的SDK使用批量获取获取。像这样:

var parent = await bucket.GetAsync<dynamic>("parent_doc_id");
if (parent.Success)
{
   var children = await bucket.GetAsync<dynamic>(parent.Value.children);
   //do stuff
}

这不是真正的代码,但你应该能够理解这里的思想