couchDB:每个文档存储MB

时间:2009-12-10 17:22:32

标签: erlang couchdb

我正在分析couchDB。是否可以存储MB值数据每个文档?例如。一张JPEG图片。

我知道我需要对所述数据进行编码(base64或其他)以适应JSON容器。

请求实用建议。

2 个答案:

答案 0 :(得分:4)

正如zed在评论中所说,最好的方法是使用附件。 Wiki有一节关于此:http://wiki.apache.org/couchdb/HTTP_Document_API#Attachments

基本理念是这样的:

{
  "_id":"attachment_doc",
  "_attachments":
  {
    "foo.txt":
    {
      "content_type":"text\/plain",
      "data": "VGhpcyBpcyBhIGJhc2U2NCBlbmNvZGVkIHRleHQ="
    }
  }
}

你应该Base64对附件内容进行编码是正确的。每个文档可以有多个附件。

来自wiki的

注意请注意,您发送的任何base64数据都必须在一行字符上,因此请预处理您的数据以删除任何回车符和换行符。

答案 1 :(得分:1)

我从未尝试过大型文档,但我正在使用带有附件(JPEG> 10 Mpix)的文档,而且效果很好。

主要问题是,每周这种巨大的数据库大小复制往往以新的和有趣的方式打破。