如何拆分超过20MB大小的couchbase文件? return message = ValueTooLarge,Success = false Couchbase 3.0.3 .net 4.5.1 C#

时间:2015-07-17 09:36:07

标签: c# couchbase nosql

物理尺寸超过20MB的文件尺寸,字符数> 2200 请看下面的代码

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

var upsert = bucket.Upsert(document);

1 个答案:

答案 0 :(得分:0)

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

{
   "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
}

这不是真正的代码,但你应该能够理解这个想法。