RethinkDB在单个请求中进行多次查询

PJK*_*PJK 8 ruby rethinkdb rethinkdb-ruby

我正在尝试在单个服务器请求中执行多个RQL命令,但我没有太多成功.我试过了r.union,但它只适用于序列.我真正想要的是:

[r.db(..).table(..).get(id1).delete(),
 r.db(..).table(..).get(id2).delete(),
 r.db(..).table(..).insert(...)].run_all_at_once
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

谢谢!

Jen*_*ens 11

你也可以用do

r.do(
  r.table('test').insert({value1: "Hey"}),
  r.table('test').insert({value2: "Ho"})
).run(conn);
Run Code Online (Sandbox Code Playgroud)
  • 查询从最后到第一个进行评估
  • 响应将是最后一个查询的结果


neu*_*ino 10

你可以做

r.expr( [r.db(...).table(...).get(id1).delete(), 
r.db(...).table(...).get(id1).delete(), 
r.db(...).table(...).insert(...) ] ).run(conn)
Run Code Online (Sandbox Code Playgroud)

请注意,方法delete不会获得参数.