如何附加到数据库中可能不存在的子文档?

2024-04-19 09:13:20 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个JSON模式来验证如下文档:

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

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

如果"galleries"<category>都不能保证存在,如何将图像附加到库项?假设我想在“截图”库中添加一个图像。我必须先进行两个查询并检查是否存在,还是可以原子化地进行?你知道吗

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


Tags: 字符串文档图像idjsontrue屏幕模式
1条回答
网友
1楼 · 发布于 2024-04-19 09:13:20

您可以这样做:

r.table('tbl').get(abc123).update({galleries: {<category>: {items: r.row('galleries')(<category>)('items').default([]).append(NEW_ITEM)}}})

相关问题 更多 >