8

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

[r.db(..).table(..).get(id1).delete(),
 r.db(..).table(..).get(id2).delete(),
 r.db(..).table(..).insert(...)].run_all_at_once

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

ありがとう!

4

2 に答える 2

11

doを使用することもできます

r.do(
  r.table('test').insert({value1: "Hey"}),
  r.table('test').insert({value2: "Ho"})
).run(conn);
  • クエリは最後から最初に評価されます
  • 応答は最後のクエリの結果になります
于 2015-05-14T00:01:18.763 に答える
10

できるよ

r.expr( [r.db(...).table(...).get(id1).delete(), 
r.db(...).table(...).get(id1).delete(), 
r.db(...).table(...).insert(...) ] ).run(conn)

メソッド delete は引数を取得しないことに注意してください。

于 2013-11-30T03:21:10.347 に答える