2016-03-07 103 views
0

,我有以下的分貝JSON的結構:Update語句rethinkdb

{ 
    id: "dlsadas", 
    code : { 
     "312-43-1-3-v-d" : { 
      contents : [ 
       { 
       "id" : 1 
       }, 
       { 
       "id" : 2 
       } 
      ] 
     }, 
     "dbhwu-0dw-dw-dn" : { 
      contents : [ 
       { 
       "id" : 5 
       }, 
       { 
       "id" : 6 
       } 
      ] 
     } 
    } 
} 

我的問題是:
我如何寫一個更新語句,因此內容陣列的關鍵312-43-1 -3-vd獲得追加對象{id:8}

從我讀我必須做的:

r.table('table').filter(...).update({code : {key: r.row(contents).append({id:8}) }}) 

,但我不能。 這可以實現嗎?

回答

1

嘗試

r.table('table') 
    .get('dlsadas') 
    .update(function(doc) { 
    return {code: { 
     'dbhwu-0dw-dw-dn': { 
     contents: doc('code')('dbhwu-0dw-dw-dn')('contents').append({id:8}) 
     } 
    }}; 
    }) 

或者,也許考慮改變你的數據格式的東西更容易使用 - 這取決於你的使用情況。

+0

現在將嘗試它 – Razvan

+0

嘗試,但所述 'dbhwu-0dw-DW-DN' 是動態 ,如果我做代碼[dynamic_key] [ 「內容」] = DOC(代碼)(dynamic_key)它只崩潰 – Razvan

+0

感謝,有效 – Razvan