1

次のようなドキュメントを検証する JSON スキーマがあります。

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

この"galleries"部分は検証では必要なく (一部のドキュメントにはギャラリーがない場合があります)、その<category>部分は単なる任意の文字列です。「スクリーンショット」。

"galleries"どちらも<category>存在しないか、存在することが保証されていない場合、ギャラリーアイテムに画像を追加するにはどうすればよいですか? 「スクリーンショット」ギャラリーに画像を追加したいとしましょう。2 つのクエリを作成して最初に存在を確認する必要がありますか? それとも、これをアトミックに行うことは可能ですか?

編集:私の現在の解決策は、ゲームのgalleriesフィールドを照会し.default({})、結果の辞書を Python で処理し、マージで更新することです。

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 に答える