問題タブ [rethinkdb-javascript]
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 - 「waitForIndex」が正しく機能しない
以下のスクリプトを開始すると、スタックするエラーが発生しました
しかし、スクリプトを再度開始しても問題ありません。
これは RethinkDB の問題ですか、それとも私の問題ですか? そして解決策を教えてください。
rethinkdb - RethinkDB: .get() は uuid の一部だけですか?
これが RethinkDB 内の私のドキュメントの uuid だとしましょう:594a64ab-b78b-4838-a79f-318020a352a9
通常、ドキュメントを取得するには、次のようにします。
r.db("databasename").table("tablename").get('594a64ab-b78b-4838-a79f-318020a352a9')
uuid のプレフィックス部分だけで同じことを達成できる方法はありますか? たとえば、私はこれをしたい:
r.db("databasename").table("tablename").getByPrefix('594a64ab-b78b')
これは可能ですか?
javascript - Rehinkdb、changes() 後の行数を取得
Rethinkdb と ReQL API は初めてです。そして、insert() 新しい行の後にテーブルの count() を取得する最良の方法は何ですか?
これは私の実際のJavaScriptの実装ですが、改善できると思います
r.table('likes')
.changes()
.run(conn)
.then(cursor =>
cursor.each(() => {
r.table('likes')
.count()
.run(conn, (err, result) => console.log(result))
})
})
次に、新しい行を追加すると
r.table('likes')
.insert({ time: (new Date()).getTime() })
.run(conn)
ご協力ありがとうございました!
database - RethinkDB ネストされた配列の要素を更新する
こんにちは、カードゲームデッキのDBを作ろうとしています。「deck_list」には、ユーザーが作成したデッキのリストがあります。ユーザーが新しいデッキを追加するたびに、deck_list に挿入されます。
ただし、デッキの名前が既に存在する場合は、デッキを挿入するのではなく、更新する必要があります。
元。「Deck2」という名前のデッキが挿入されている場合は、フォームに追加する必要があります
ただし、「Deck1」が追加されると、古い「Deck1」を新しい「Deck1」に置き換える必要があります。
rethinkdb-javascript - r.db("test").tableCreate("authors").run(conn); 行のコンパイル エラー
Rethinkdb を使用するようにセットアップしました。Java ドライバーを使用して Java プログラム経由で DB に接続しようとしています。http://mvnrepository.com/artifact/com.rethinkdb/rethinkdb-driver/2.3.1から RethinkDB Java ドライバー 2.3.1 をダウンロードしました。
しかし、この単純なプログラムで次のコンパイル エラーが発生します。
このコンパイル エラーが発生する理由を教えてください。
完全なプログラム
rethinkdb - RethinkDB 接続を明示的に閉じる必要がありますか?
RethinkDB の接続がどのように機能するかについて、私は少しぼんやりしています。クエリが終了したら閉じずに、クエリを実行するたびに新しい接続を開いています。
これは良い習慣ですか?または、クエリが終了したら明示的に接続を閉じる必要がありますか?
(私はJSドライバーを使用しています。ドキュメントがこれについて語っているとは思いません)
【前の記事のタイトルがあいまいでしたので編集しました】
rethinkdb - ネストされた配列によるドキュメントの更新/マージ
コンテキスト: クライアントでは、フィールドが変更され、その変更がキーパスと値のペアとしてサーバーに伝達されます。foo.bar.baz
=のようなキーパスから始めますcat
。これを変換して{foo: {bar: {baz: "cat"}}}
、merge
自分のドキュメント (のように見えるかもしれません{foo: {bar: {baz: "dog"}}}
) に変換できます。
これまでのところ、これはすべてのオブジェクトでうまく機能していますが、配列で何かをする必要があるとうまくいきません。
RethinkDB 内の私のドキュメントが次のようになっているとします{name: "Me", pets: [{name: "Shadow"}]}
。ユーザーはペットの名前を更新することにしたので、キーパスはpets[0].name
=のようになりSparky
ます。私が知る限り、これを に渡すことができるものに簡単に (または重要なことに) 変換することはできませんmerge
。それともできますか?考え?
rethinkdb - ユーザー資金の残高を計算するためのrethinkdbグループ化
私はnodejsでrethinkdbを使用しています。私は資金テーブルを持っており、すべてのクレジット エントリから合計デビット エントリを差し引いて、任意のユーザーの残高を計算しようとしています。これまでのところ、次のクエリを実行できました。
r.db('testDB').table('funds').filter({userId:'63755d1e-e82e-4072-8312-4fcd88f1dfd3'}).group(function(g){ return g('userId') } )
これにより、次の結果が生成されます。
concatMap 関数を使用しようとしましたが、その内部でブランチを使用して借方か貸方かを確認しようとしましたが、機能していません。
e: STRING を SEQUENCE に変換できません:
reduce 関数を使用した別のアプローチでは、すべてのクレジット エントリの合計が提供されますが、すべての借方を合計する方法がわかりません。
結果は1050です