Изменение данных в коллекции
Здесь описан формат модификаторов в YAML для поля Updater в узле Update objects (ключ items). Пошагово по всем узлам базы и с живым примером объекта см. Основы работы с базой данных.
Когда вы хотите изменить данные в коллекции, вам нужно выбрать объекты и применить к ним набор модификаторов.
Есть два способа выбора объектов
- указать идентификатор конкретного объекта
- применить набор фильтров для выбора нескольких объектов (см. запросы к коллекции)
Модификаторы
Формат модификаторов задаётся в YAML.
- Field: path
Type: string
Description: Путь внутри объекта, который изменяется.
Если указать ".", то изменение заменит всё
содержимое объекта.
---
- Field: set
Type: Expression
Description: Выражение для вычисления значения.Примечание
Все наборы фильтров начинаются с ключевого слова conditions. Все наборы модификаторов начинаются с ключевого слова items.
Пример
Допустим, у нас есть объект, который можно получить таким фильтром:
conditions:
- operation: equal
query:
field: "object_id"
expected:
value: "5bd4b778-1f7f-4fce-ab89-dd6eb6dfaf98"Значение объекта:
{
"test": 123
}Применим модификаторы:
items:
- path: "."
set:
value:
a:
b:
id: "123"
- path: "a.b.i"
set:
value: 123
- path: "a.b.s"
set:
value: "string"
- path: "a.b.f"
set:
field: "object_id"
- path: "a.b.p"
set:
path: "a.b.i"Первый модификатор заменяет весь объект на описанный.
{
"a": {
"b": {
"id": "123"
}
}
}Второй модификатор добавляет в объект значение типа number.
{
"a": {
"b": {
"id": "123",
"i": 123
}
}
}Третий модификатор добавляет значение типа string.
{
"a": {
"b": {
"id": "123",
"i": 123,
"s": "string"
}
}
}Четвёртый модификатор добавляет значение типа string, которое берётся из поля object_id в системной информации об объекте.
{
"a": {
"b": {
"id": "123",
"i": 123,
"s": "string",
"f": "aebe4239-0fb9-4e87-9f52-9dc8228467e8"
}
}
}Пятый модификатор добавляет в объект значение, взятое из того же объекта после применения предыдущих модификаторов.
{
"a": {
"b": {
"id": "123",
"i": 123,
"s": "string",
"f": "aebe4239-0fb9-4e87-9f52-9dc8228467e8",
"p": 123
}
}
}Выражения
В этом разделе перечислены выражения, которые можно использовать в условиях.
- Expression: Field
Field: field
Type: string
Description: Позволяет получить значение поля записи целиком.
Доступные значения:
• object_id
• value
• created_at
---
- Expression: Path
Field: path
Description: Позволяет обращаться к вложенным значениям объекта.
Для вложенных значений используйте точечный разделитель.
Примеры:
• a
• a.b
• a.b.c
---
- Expression: Value
Field: value
Type: string, number, array, object, bool
Description: Позволяет указать конкретное значение для дальнейшего сравнения.