2017-04-05 11 views
0

私はcouwbaseでdropwizardを使用しています。Java Couchbase JSONの子を更新する方法は?

文書を更新したい。私が作業しているドキュメントは次のような構造を持っています:

{ 
    "animal": { 
     "cat": { 
     "name": "snowball", 
     "color": "black", 
     "age": "7" 
     } 
    } 
    } 

私はちょうど年齢と言うことができます。

私はこのようなJSONとしてのCouchbaseからドキュメントを取得することができます。

JsonDocument docToUpdate = bucket.get(docId); 

をして、私はこのようにそれを更新しよう:

docToUpdate.content().put("age", "10"); 

しかし、単にトップレベルにそれを追加することに私はこれを取得:

{ 
    "animal": { 
     "cat": { 
     "name": "snowball", 
     "color": "black", 
     "age": "7" 
     } 
    } 
    "age": "10" 
    } 

これを行う簡単な方法があります - 子JSONsにアクセスするには?解決策を探して、私はcouchbaseのサブ文書を発見しました。それは行く方法ですか、これには簡単な解決策がありますか?ありがとう。

のCouchbaseを使用する場合には

答えて

1

あなたは間違ったノードを更新しています。 これを試してください。

docToUpdate.content().put("animal.cat.age", "10"); 

更新クエリは、あるべき

UPDATE bucket USE KEYS "docId" SET animal.cat.age=10 
関連する問題