我有两个表:用户, user_matching 。我想在1个查询中从两个表中获取项目。例如,类似SQL的查询:
{{1}}
通常我应该在NoSQL DB中使用2个查询。现在我这样做:
我可以使用Tarantool只用1个查询替换它。以及如何?
答案 0 :(得分:3)
您需要创建存储过程,其中组合两个选择的结果,例如:
function select_user_by_matching_id(matching_id)
local id = box.space.user_matching:get{matching_id} # or :select
local user_data = box.space.user:get{id} # or :select
# work with user_data
return user_data
end
创建此过程后,您可以通过Tarantool驱动程序调用此过程并获取合并结果。
此处提供更多详细信息:http://tarantool.org/doc/book/app/c-lua_tutorial.html?highlight=call