我如何像 mysql 那样执行对 tarantool 的请求?
How i can perform request to tarantool like in mysql?
我需要 select 来自 tarantool 的所有数据乘以来自一个 space 的两个值。
我如何像 mysql?
那样执行对 tarantool 的请求
select from aaa where a=1a22cadbdb or a=7f626e0123
现在我可以提出两个请求:
box.space.logs:select({'1a22cadbdb'})
box.space.logs:select({'7f626e0123'})
但我不知道如何将结果合并为一个;(
以下代码合并字段[0]到luatable
a = box.space.logs:select({'1a22cadbdb'})
b = box.space.logs:select({'7f626e0123'})
c = { field_1 = a[0], field_2 = b[0] }
select return 元组或元组,因此您可以通过 [].
提取值
关于 select 的更多详细信息:http://tarantool.org/doc/book/box/box_index.html?highlight=select#lua-function.index_object.select
有关元组的更多详细信息:http://tarantool.org/doc/book/box/box_tuple.html?highlight=tuple#lua-module.box.tuple
对我来说这个工作正常,但需要首先检查 return select:
local res = {}
for k, v in pairs (box.space.email:select({email})[1]) do
if type(v) == 'string' then
table.insert(res, box.space.logs:select({v})[1])
end
end
如今,Tarantool 允许您通过 SQL 检索,例如 box.execute([[select from "aaa" where "a"='1a22cadbdb' 或"a"='7f626e0123';]])。在执行此操作之前,您必须使用 format() 函数添加 aaa 的字段名称和类型。
我需要 select 来自 tarantool 的所有数据乘以来自一个 space 的两个值。 我如何像 mysql?
那样执行对 tarantool 的请求select from aaa where a=1a22cadbdb or a=7f626e0123
现在我可以提出两个请求:
box.space.logs:select({'1a22cadbdb'})
box.space.logs:select({'7f626e0123'})
但我不知道如何将结果合并为一个;(
以下代码合并字段[0]到luatable
a = box.space.logs:select({'1a22cadbdb'})
b = box.space.logs:select({'7f626e0123'})
c = { field_1 = a[0], field_2 = b[0] }
select return 元组或元组,因此您可以通过 [].
提取值关于 select 的更多详细信息:http://tarantool.org/doc/book/box/box_index.html?highlight=select#lua-function.index_object.select
有关元组的更多详细信息:http://tarantool.org/doc/book/box/box_tuple.html?highlight=tuple#lua-module.box.tuple
对我来说这个工作正常,但需要首先检查 return select:
local res = {}
for k, v in pairs (box.space.email:select({email})[1]) do
if type(v) == 'string' then
table.insert(res, box.space.logs:select({v})[1])
end
end
如今,Tarantool 允许您通过 SQL 检索,例如 box.execute([[select from "aaa" where "a"='1a22cadbdb' 或"a"='7f626e0123';]])。在执行此操作之前,您必须使用 format() 函数添加 aaa 的字段名称和类型。