問題タブ [reql]
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.
rethinkdb - インデックスを知らずにネストされた配列項目を更新するクエリ
複雑なネストされたドキュメントを含むテーブルがあります。各ドキュメントの構造は、次の例のようになります。
配列protocol.overrides
の 2 番目の項目のプロパティにある項目の 1 つを更新したいと考えています。events
アクセスする必要があることは事前にmyTable.get($id).events(1)('protocol')('overrides')
わかっていますが、ネストされた配列内のどの項目を置き換える必要があるかを事前に知る方法はありません。
この特定の例では、アイテムをindex: 7
, and (2 番目のアイテム) に置き換える必要があり、そのプロパティをparentIndex: 10
に変更したいとします。values
{foo: "baz", bar: "curley"}
これを可能にするメソッドが reQL API にありません。changeAt
配列インデックスがわかっている場合はindexOf
使用できますが、述語を照合してインデックスを見つけることができる関数などは見当たりません。
python - データベース内のすべてのテーブルに対して RethinkDB チェンジフィードを生成する方法
RethinkDB データベースの複数のテーブルにデータを挿入または削除する API をテストしています。API の使用中にデータベースに何が起こっているかを監視するために、すべてのテーブルの変更を出力したいと考えています。
ここに私が達成しようとしているもののいくつかの「疑似コード」があります:
このスクリプトを実行する前に、実行rethinkdb --port-offset 1
して RethinkDB データベースを初期化します。
table1
このスクリプトが実行されたら、 または のいずれかにデータを挿入しtable2
(たとえば、 の Web UI を使用してlocalhost:8081
)、スクリプトを実行しているターミナルに表示される変更を確認したいと思います。ただし、r.table('table1' and 'table2')
有効な ReQL クエリではない可能性があるため、これは機能しないようです。
両方のテーブルの変更を監視するにはどうすればよいですか?
rethinkdb - rethinkdb (reql) のドキュメントを任意のプロパティでアップサートするにはどうすればよいですか?
私が.itemId
生成したものではなく、サードパーティからのものがあります。
データベースでそれを探し、存在しない場合は更新または挿入する必要があります。
クックブックのこの例を使用してみました: https://www.rethinkdb.com/docs/cookbook/javascript/#manipulating-documents
res.changes
ドキュメントが存在しない場合、およびデータベースにない後にIDを検索した場合は未定義です。挿入されたことはありません。
upsert()
オブジェクトの任意のプロパティを指定してコマンドを簡略化する方法はありますか?