【问题标题】:ArangoDB LIKE function doesn't seem to filter out values containing '*'ArangoDB LIKE 函数似乎没有过滤掉包含“*”的值
【发布时间】:2018-03-22 00:30:08
【问题描述】:

名为“PatternInfo”的集合包含以下文档: 1. { "pattern": "abcde*fgh"} 2. { "pattern": "test*new" } 3. { "pattern": "abc%^def" }

只要运行以下查询以过滤包含“*”的模式,就会返回空结果。 for doc in PatternInfo filter like(doc.pattern, "%test*n%", false) return doc

我什至尝试转义“*”,尽管 LIKE 的 ArangoDB 文档仅指定要转义的“%”和“_”。

查询或 ArangoDB 本身有问题吗?

【问题讨论】:

    标签: arangodb


    【解决方案1】:

    LIKE() 的 C++ 实现中似乎存在错误。

    V8 实现在我的测试中产生了预期的结果:

    for doc in PatternInfo
    filter noopt(v8(like(doc.pattern, "%test*n%", false)))
    return doc
    

    正确匹配 2.{ "pattern": "test*new" }

    我代表您创建了一份错误报告: https://github.com/arangodb/arangodb/issues/4919

    【讨论】:

      猜你喜欢
      • 2019-08-30
      • 2017-08-15
      • 2023-01-05
      • 1970-01-01
      • 1970-01-01
      • 2019-05-01
      • 2020-02-13
      • 2022-10-21
      • 1970-01-01
      相关资源
      最近更新 更多