問題タブ [rethinkdb]

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

rethinkdb - rethinkdb で複合マルチインデックスを作成するにはどうすればよいですか?

公式のpythonドライバーでRethinkdb 1.10.1を使用しています。1人のユーザーに関連付けられているタグ付けされたもののテーブルがあります:

user_idandでクエリを実行したいtag(たとえば、ユーザー "tawmas" でタグ "tag" を持つすべてのものを検索する)。Rethinkdb 1.10 から、次のようなマルチインデックスを作成できます。

私のクエリは次のようになります。

ただし、このクエリでも、指定されたタグを持つすべてのドキュメントをスキャンする必要があるため、user_id フィールドと tags フィールドに基づいて複合インデックスを作成したいと考えています。このようなインデックスを使用すると、次のクエリを実行できます。

複合マルチインデックスに関するドキュメントには何もありません。["USER_PK", "tag"]ただし、ペアのリストを返すことにより、複合インデックスとマルチインデックスの要件を組み合わせたカスタム インデックス関数を使用しようとしました。

私の最初の試みはpythonでした:

MemoryErrorこれにより、インデックス関数を解析しようとしてPythonドライバーがチョークします(リスト内包表記はドライバーで実際にはサポートされていないと思います)。

だから、私は(確かに、さびた)javascriptに目を向け、これを思いついた:

これはサーバーによって拒否され、興味深い例外があります。rethinkdb.errors.RqlRuntimeError: Could not prove function deterministic. Index functions must be deterministic.

では、複合マルチインデックスを定義する正しい方法は何ですか? それとも、現時点ではサポートされていないものですか?

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

bigdata - RethinkDB は大規模なデータ セット (TB+) を処理し、OLAP アプリの DB として機能できますか?

RethinkDB は、大規模なデータ セット (つまり、数テラ バイト) を効果的に処理して、分析アプリケーションの DB として機能できますか?

0 投票する
2 に答える
2322 参照

node.js - RethinkDB: カーソルからレコードを 1 つだけ取得する

セカンダリ インデックスを使用してカーソルから 1 つのレコードのみを取得する方法は?

レコードを 1 つだけ取得するにはどうすればよいですか?

0 投票する
2 に答える
1603 参照

ruby - 単一のリクエストで RethinkDB の複数のクエリ

サーバーへの単一のリクエストでいくつかのRQLコマンドを実行しようとしていますが、あまり成功していません。を試しr.unionましたが、シーケンスでしか機能しません。私が本当に欲しいもの:

これを行う方法はありますか?

ありがとう!

0 投票する
4 に答える
2755 参照

javascript - rqlはキーのリストから複数のドキュメントを取得しますrethinkdb in javascript

一意のキー「id」を持つ「人」データのテーブルがあります。クライアントからサーバーに JSON 配列として送信するデータを取得する ID のリストがあります。サーバーはそのデータを JSON 配列として受け取ります。

これらの ID ごとにドキュメントを取得するクエリを実行する方法はありますか?

または、自分でIDを解析して結果の配列を作成し、その配列を送り返す唯一のオプションです。

今まで使ってみた...

  • getAll - しかし、動的な量のパラメーターを受け入れるため、これを機能させることができず、値の配列を動的な量のパラメーターに変更する方法がわかりません。

    (例... 以下のようなことができるようになりたいのですが、できません)

    これしかできない…

    /li>
  • expr と forEach - 以下に示すように、これはうまくいかないと思います。

    /li>
0 投票する
2 に答える
423 参照

python - Rethinkdb pythonは空の結果を処理します

空の結果を処理するための rethinkb と python の最良の手法は何ですか。これを試してみましたが、例外をキャッチするだけでは不十分です。

誰かが他のテクニックを試したことがあるなら、私は非常に興味があります. ご協力いただきありがとうございます。

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

rethinkdb - rethinkdb クエリで置換/更新を書き込まない

私はrethinkdbが初めてで、簡単な問題があります。次のオブジェクト構造があるとします。

したがって、「A」のインスタンスは、2 つの「B」インスタンスとの関係を維持します。

次の応答を取得するには、rethinkdb でどのクエリを実行する必要がありますか?

応答で ID の代わりに B のインスタンスを表示したいのですが、この変更を保存したくありません。

0 投票する
2 に答える
314 参照

javascript - RethinkDB: キーと値のペアでドキュメントを取得しますか?

Node に安定した Mongo ドライバーがないため、Mongo の代替として RethinkDB を評価しています。http://www.rethinkdb.com/api/javascript/get_all/のドキュメントを読み、非常に簡単な質問があります: キーと値のペアでドキュメントを取得するにはどうすればよいですか?

get() の例では、インデックスについてのみ説明しています。私はインデックスには興味がありませんが、他の分野に興味があります。たとえば、次のことができるようになりたいです。

... Mongo で collection.find() に慣れているのとほぼ同じ方法です。しかし、それは不可能のようです。私は何を間違っていますか?この方法でドキュメントを取得することは取得とは見なされませんか?

代わりに.filter()を使用する必要がありますか?

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

javascript - RethinkDB: 条件付き upsert (特定のフィールドが一致した場合のみ)?

rethinkDB の insert()に upsert オプションがあることは知っています。たとえば、ドキュメントから:

しかし、間違った、または古いスーパーパワーを持つ の既存のレコードが存在する可能性があり、既存のレコードを挿入または更新{superhero: 'Iron Man'}したいとしますか?{ superhero: 'Iron Man', superpower: 'Arc Reactor' }{superhero: 'Iron Man'}

要するに、特定のフィールドが一致した場合にのみ既存のレコードが更新されるようにするには、どうすればアップサートできますか?

編集:これは .replace() で行われるようです:

replace() ドキュメントの重要な部分は次のとおりです

テーブルにないキーでポイント置換を行うと、新しいドキュメントを挿入できます

「ポイント置換」が何を意味するのかはわかりませんが、単に置換を意味すると思います。

ただし、テストでは、「mergeOrCreate」関数には、実際のドキュメントやカーソルではなく、別の関数が引数として与えられています。