問題タブ [couchdb-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
154 参照

python - couchdb-python を使用してネストされたオブジェクトを操作する

免責事項: Python と CouchDB はどちらも私にとって初めてのことです。これまでのところ、私の「プログラミング」はほとんどが Bash スクリプトで構成されていました。

CouchDB データベース内のオブジェクトを更新する小さなスクリプトを作成しようとしています。ただし、オブジェクトは私のスクリプトではなく、同期に CouchDB を使用する Tap Forms というアプリによって作成されます。基本的にアプリのコンテンツを自動更新しようとしています。つまり、CouchDB 内のオブジェクトの構造や名前に実際に影響を与えることはできません。

データベースは、ほとんどが次の構造のオブジェクトで満たされています。

読みやすくするために、数字を少し短くし、いくつかのエントリを削除しました。

現在、更新しようとしている実際の値は"values" : {...}配列内にあります (またはオブジェクト、またはリスト、JSON の経験もあまりないと思います)。これらの値のいくつかを知っているので、サーバー上のオブジェクトの _id を見つけるビューを作成することができました。次に、ドキュメントで説明されているように python-couchdb モジュールを使用します。

これにより、オブジェクトが得られます。ただし、values 配列の値の1 つを更新したいとします。しかし、どのように?を使用すると、配列全体が更新されます。の行に沿って他の(一見論理的な)方法を試しましたが、頭を包むことができませんでした。どのドキュメントにも例が見つかりませんでした。fld-c3d4...doc['values'] = 'new_value'doc['values['fld-c3d4']'] = 'new_value'