我正在使用已经注入的值重写查询以传递query
和params
对象。
使用整数的查询工作正常(我需要使用neo4j 的 int
翻译):
...
ID(node)=$nodeId
...
LIMIT $fetchLimit
import { int } from 'neo4j-driver'
...
params = {
nodeId: int(nodeId)
fetchLimit: int(fetchLimit)
}
在某些查询中,我正在搜索字符串,但我没有使用“普通”字符串搜索
WHERE node.property=$value <-- "normal" search
WHERE node.property=~"$value.*" <-- my search
在这种情况下,传递参数不起作用。
我有一种感觉,当我通过时value: 'foo'
,neo4j 将其解析如下:
WHERE node.property=~"$value.*"
...
value: 'foo'
*(injects parameters)*
WHERE node.property=~"'foo'.*" <-- these inner quotation marks shouldn't be there
如何将字符串传递给此查询并期望得到正确的结果?
(请注意,我确信查询是正确编写的,因为当我使用 JS 直接注入参数进行查询时${value}