我在db中有以下json结构:
{
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}) }})
但我不能。 这可以实现吗?
答案 0 :(得分: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})
}
}};
})
或者,或许可以考虑将数据格式更改为更易于使用的内容 - 具体取决于您的使用情况。