如何更新(就地)在couchbase中的JSON文档?

时间:2015-05-03 17:28:19

标签: couchbase

我想在couchbase中的现有文档中添加一个字段。 举个例子,假设我们在couchbase默认存储桶中有以下文档:

{"first_name":"Abc", "last_name":"Mno"}

现在我想在json文档中添加一个新字段,使其变为:

{"first_name":"Abc", "last_name":"Mno", "city":"Xyz"}

我知道这个功能要到2013年年中才可用,如post所述。但是,还提到Couchbase团队正致力于此功能。任何人都有相同的更新?

1 个答案:

答案 0 :(得分:1)

Couchbase尚未进行子文档编辑,但简单地获取现有文档,向其添加字段并将文档写回数据库的速度非常快。由于托管缓存,这里确实没有那么多开销。对于非常大的文档,IMO来说,开销只会非常重要。即使数据库确实进行了子文档编辑,某些机制也必须从DB中获取原始文档,编辑并将其写回,以使文档是连续的。现在,它只是你的应用程序而不是数据库内。

在幕后,Couchbase会将新版本的文档附加到vBucket文件的末尾,然后将原始文件标记为无效。自动压缩作业将在运行时清理并删除旧版本。