我正在尝试在单个服务器请求中执行多个RQL命令,但我可能没有太大的成功。我尝试了r.union
,但它只适用于序列。我真正想要的是:
[r.db(..).table(..).get(id1).delete(),
r.db(..).table(..).get(id2).delete(),
r.db(..).table(..).insert(...)].run_all_at_once
有没有办法做到这一点?
谢谢!
答案 0 :(得分:11)
您也可以使用do
r.do(
r.table('test').insert({value1: "Hey"}),
r.table('test').insert({value2: "Ho"})
).run(conn);
答案 1 :(得分:10)
你可以做到
r.expr( [r.db(...).table(...).get(id1).delete(),
r.db(...).table(...).get(id1).delete(),
r.db(...).table(...).insert(...) ] ).run(conn)
请注意,删除方法不会产生参数。