Запрос регулярного выражения Dgraph с переменными при использовании клиента Dgraph Go QueryWithVars
Можно ли использовать переменные с поиском регулярных выражений при использовании клиента 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)
Редактировать: это ошибка.
1 ответ
Не так, как ты это делаешь. Но вы можете построить динамический шаблон регулярных выражений, соединяя строки обычным способом:
re, err := regexp.Compile("ˆ.*" + regexp.QuoteMeta(searchTerm))