如何使用Java SDK将数据附加到已存在的JSON文档的Collection?
答案 0 :(得分:1)
Couchbase中目前没有json附加功能,因此您需要获取docuemnt,修改它,然后将其重新插入数据库。您还可以使用cas操作以确保没有其他客户端同时更新文档。
答案 1 :(得分:1)
我使用的是一件好事,但它需要通过代码来处理。 我在couchbase 2.x中编写了prepend / append 您可以使用旧文档,并使用","前置到JSON。 当你拿出来时,你需要把" [" "]"然后你将得到数据"的JSON列表; 当value是我想放在列表中的JSON时。
try {
bucket.prepend(LegacyDocument.create(key, value + ","));
} catch (Exception e){
//if fails first insert the basic JSON first.
bucket.insert(LegacyDocument.create(key, value));
}
答案 2 :(得分:0)
我认为我有一些有效的解决方案。
如何使用字节流(非json值)首先将所有内容存储在临时数据库中。这样,您基本上可以根据需要附加值。在你的追加操作完成后(让我们说在批量数据加载结束时),你可以执行一个小程序来逐个检索json中的所有键并将其转换为json值并插入到我们的新数据库(你甚至可以使用现有的数据库)。
这显然是一种解决方法,但每次查询都要高效得多。
干杯,