Couchbase N1QL - замена встроенной группы Regex захваченной? - PullRequest
2 голосов
/ 19 июня 2020
UPDATE SOME_BUCKET as doc USE KEYS ["USER_ACCESS::123456::SOME_ROLE", "MORE KEYS HERE...", etc]
loc.id = REGEXP_REPLACE(loc.id, "(.*) - (.*)", "$1-$2") FOR loc IN locations END
RETURNING doc

Установка здесь «lo c .id» просто присваивает ему значение замены строкового литерала «$ 1- $ 2» вместо обратных ссылок на захваченные группы .

Сервер Couchbase запускает синтаксис GoLang регулярного выражения, который, по-видимому, может не поддерживать обратные ссылки? Какая есть альтернатива?

1 Ответ

0 голосов
/ 19 июня 2020

Требуется обновление SET, предложение UNSET https://docs.couchbase.com/server/current/n1ql/n1ql-language-reference/update.html#update -для Проверить пример 3

UPDATE SOME_BUCKET as doc 
USE KEYS ["USER_ACCESS::123456::SOME_ROLE", "MORE KEYS HERE...", etc]
SET loc.id = REGEXP_REPLACE(loc.id, "(.*) - (.*)", "$1-$2") FOR loc IN locations END
RETURNING doc;
...