我想压缩两个请求:
a = r.table('A').run(conn)
b = r.table('B').run(conn)
在一个单一的。就像是:
out = some_reql({
'a': r.table('A'),
'b': r.table('B')
}).run(conn)
out['a']
out['b']
我想压缩两个请求:
a = r.table('A').run(conn)
b = r.table('B').run(conn)
在一个单一的。就像是:
out = some_reql({
'a': r.table('A'),
'b': r.table('B')
}).run(conn)
out['a']
out['b']
如果您想在一个查询中同时返回两者,您可以这样union
做
r.union(r.table("A"), r.table("B"))
这将为您返回一个流对象,该对象是 2 个流的串联。但是,您将无法判断一个流在哪里结束,而下一个流在哪里开始。目前无法在同一个查询中返回 2 个单独的流对象。因此,如果您希望能够将它们用作单独的流,您需要执行 2 个单独的查询。有什么不适合你的理由吗?
如果您的流很大,那么这不会对性能产生很大影响,因为评估每个流的结果无论如何都需要多个请求。但是,如果它们很小,那么您可以将它们强制转换为这样的数组:
{"a" : r.table("A").coerce_to("ARRAY"),
"b" : r.table("B").coerce_to("ARRAY")}
仅当您的流适合内存时才执行此操作。