当前位置: 首页 > 知识库问答 >
问题:

Tarantool查询问题

连晟
2023-03-14

我有以下数据结构格式:

unix/:/var/run/tarantool/tarantool.sock> s:format()
---
- [{'name': 'id', 'type': 'unsigned'}, {'name': 'version', 'type': 'array'}, {'name': 'data',
    'type': 'array'}]
...

我已经在里面有以下数据:

unix/:/var/run/tarantool/tarantool.sock> s:select{}
---
- - [0, [[21, 'action123'], [12, 'actionXYZ'], [11, 'actionABC']], [['actionXYZ',
        'SOME_JAVASCRIPT_CONTENT']]]
  - [1, [[33, 'action123'], [12, 'baseXYZ'], [11, 'baseABC']], [['bas123', 'SOME_CSS_CONTENT']]]
...

我已经阅读了参考资料和文档,在完成以下内容时有点不知所措:

>

  • 什么是“哪里”等价物?ie.选择查找具有12版本的条目

    在中没有看到适用的示例https://www.tarantool.io/en/doc/2.2/reference/reference_lua/box_space/#lua-function.space\u object.select

    用字段名列出项目(这样我就知道我在看哪个块)。在某种程度上,有点像SQL中的结果中有“列标题”。

    我已经用格式()命名了元组。-当我查询数据时,如何才能看到这些名称?

    {'name':'id','type':'unsigned'},{'name':'version','type':'array'},{'name':'data','type':'array'}]

    漂亮的印刷品!(最好是yaml)

    我试图使用https://www.tarantool.io/en/doc/2.2/reference/reference_lua/yaml/来包装我的选择语句,但是没有任何效果。

  • 共有1个答案

    解飞语
    2023-03-14
    1. 您需要使用索引进行必要的有效查询,请参见此处:

    https://www.tarantool.io/en/doc/2.2/reference/reference_lua/box_space/#lua-function.space\u object.create\u index

    https://www.tarantool.io/en/doc/2.2/reference/reference_lua/box_index/

    https://www.tarantool.io/en/doc/2.2/reference/reference_lua/box_tuple/#lua-function.tuple_object.tomap

    tarantool> box.space.TEST:pairs():map(function(x) return x:tomap({names_only=true}) end):totable()
    ---
    - - COLUMN1: 1
        COLUMN2: a
      - COLUMN1: 13
        COLUMN2: a
      - COLUMN1: 1000
        COLUMN2: a
    
     类似资料:
    • 使用类似SQL的关键字在Tarantool DB中进行查询的正确方法是什么?例如:

    • 我一直在使用关系数据库,最近决定将性能关键服务从SQL服务器迁移到Tarantool,希望利用内存中的快速搜索和处理。在计划迁移时,我有几个问题。 我有一个包含大约一百万条记录的表,其中包含定价信息,这意味着我主要处理的是数字和UUID。首先,我需要运行一个包含多个条件的select来获取数据的子集,如 Q1:在Lua中运行这样一个查询的策略是什么?我是为谓词中的每个字段创建索引,还是可以使用一个

    • Tarantool 是一个用 Lua 语言编写的嵌入式 NoSQL 数据库,可以直接在 Lua 程序中运行。合并了 Node.js 的强大网络编程和 Redis 数据持久。 示例代码: #!/usr/bin/env tarantoolbox.cfg{}hosts = box.space.hostsif not hosts then    hosts = box.schema.create_spac

    • 我们知道,通过指定排序选项,字符串Tarantool索引可以不区分大小写:。例如。: 现在我们可以执行不区分大小写的查询: 但是如何使用SQL呢?这不起作用: 这也不是: 有一个肮脏的把戏,性能很差(完全扫描)。我们不想要它,是吗? 最后,我们还有一个解决办法: 但问题是,它是否使用索引?如果没有索引,它也可以工作。。。

    • 我有这个问题。我希望它从内容表中选择4个条目,并按如下方式对条目进行排序: > 选择最近的条目。它表示按日期排序(mysql datetime)DESC,id DESC。 从这4个选定项中,按likes(mysql INT)DESC排序 运行查询时,它返回错误的结果。它选择与此条件匹配的条目,其中主题='id'和活动='1'。它按likes DESC对条目进行排序,但忽略了这个条件,即按日期DES

    • 查询条件: {a:1,b:undefined}, {a:1,b:null}, mongodb查询,会忽略上述b字段吗?