使用 Dgraph Go 客户端 QueryWithVars 时带有变量的 Dgraph 正则表达式查询



使用 Dgraph go 客户端时是否可以将变量与正则表达式搜索一起使用?

我们可以用SprintF构建查询,但这是不安全的。

q :=query Search($searchterm: string) {
        subdomains(func: regexp(name, /^.*$searchterm/)) {
        uid:uid
        name:name
    }
}

以下查询不返回任何结果,即使它们存在也是如此。

q := `query Search($searchterm: string) {
        subdomains(func: regexp(name, /$searchterm/)) {
            uid:uid
            name:name
        }
    }`

或者这个

q := `query Search($searchterm: string) {
        subdomains(func: regexp(name, /.*$searchterm.*/)) {
            uid:uid
            name:name
        }
    }`

然后使用以下方法将查询发送到 dgraph:txn。QueryWithVars(ctx, q, variableMap(

编辑:这是一个错误。

不是你这样做的方式。但是您可以通过以正常方式连接字符串来构建动态正则表达式模式:

re, err := regexp.Compile("ˆ.*" + regexp.QuoteMeta(searchTerm))

相关内容

  • 没有找到相关文章

最新更新