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

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

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

有没有办法做到这一点?

谢谢!

你可以做

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

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

你也可以用do

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