ArangoDB LIKE 函数似乎没有过滤掉包含“*”的值

ArangoDB LIKE function doesn't seem to filter out values containing '*'

名为 "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本身有问题吗?

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