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

你也可以使用

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 回答