我们是否可以不对COuchbase Java API中给定Key的值中的特定字段进行更改?

时间:2013-06-17 23:46:51

标签: memcached couchdb couchbase

我有这个架构

{"type": "record",
"name": "Member",
"fields": [
{"name": "name", "type": ["string", "null"] },
{"name": "skill", "type": ["string" , "null"]}
]}

现在我最初已经将一些数据插入到了3个成员的couchbase中

KEY VALUE 
id  name skill
1   abc  java
2   pqr  cookin
3   xyz  fishing

假设现在name现在只有id=3更改...我可以在couchbase中执行此操作。因为,我观察到couchbase用{{1}覆盖skill如果没有提到..即 如果NULLid=3更改为def

我输出为

name

虽然我希望技能相同......

2 个答案:

答案 0 :(得分:0)

这里http://cnx.org/content/m43483/latest/我有一个例子说明了如何试验在couchDB中存储JSON文档。要进行更新,您必须阅读整个文档,更改所需的值,然后将所有内容写回来。

答案 1 :(得分:0)

您正在寻找的是“部分更新”,您可以这样做(尽管来自其他海报的信息)只是它没有内置到CouchDB(从1.3开始)所以你必须通过添加更新处理程序来进行一些设置。

有关详细信息,请参阅此处:http://wiki.apache.org/couchdb/Partial_Updates