1

我有一个 JSON 模式来验证这样的文档:

{
    "id": "abc123",
    ...
    "galleries": {
        <category>: {
            "items": [],
            "visible": true
        }
    }
}

验证不需要该"galleries"部分(某些文档可能没有图库),并且该<category>部分只是一个任意字符串,例如。“截图”。

"galleries"如果既不存在也不<category>保证存在,如何将图像附加到画廊项目?假设我想将图像附加到“屏幕截图”画廊。我是否必须先进行两次查询并检查是否存在,或者是否可以原子地执行此操作?

编辑:我目前的解决方案是查询游戏galleries字段,.default({})然后使用 Python 处理生成的 dict 并使用合并进行更新。

4

1 回答 1

1

你可以这样做:

r.table('tbl').get(abc123).update({galleries: {<category>: {items: r.row('galleries')(<category>)('items').default([]).append(NEW_ITEM)}}})
于 2015-03-16T07:19:18.870 回答