我有一个JSON模式来验证这样的文档:
{
"id": "abc123",
...
"galleries": {
<category>: {
"items": [],
"visible": true
}
}
}
验证不需要"galleries"
部分(某些文档可能没有图库),<category>
部分只是一个任意字符串,例如。 &#34;截图&#34;
如果保证"galleries"
和<category>
都不存在,如何将图片附加到图库项目?让我们说我想在&#34;屏幕截图&#34;上添加图片。画廊。我是否必须首先进行两次查询并检查是否存在,还是可以原子地执行此操作?
编辑:我目前的解决方案是使用galleries
查询游戏的.default({})
字段,然后使用Python处理生成的字典并使用合并进行更新
答案 0 :(得分:1)
你可以这样做:
r.table('tbl').get(abc123).update({galleries: {<category>: {items: r.row('galleries')(<category>)('items').default([]).append(NEW_ITEM)}}})