| Предыдущая версия справа и слева
Предыдущая версия
Следующая версия
|
Предыдущая версия
|
ru:airlay:crud [2026/06/08 17:03] Калинин Александр Игоревич |
ru:airlay:crud [2026/06/08 17:21] (текущий) Калинин Александр Игоревич [Обновление списка объектов] |
| Для получения данных можно воспользоваться данным API. | Для получения данных можно воспользоваться данным API. |
| |
| https://airlay.ru/api/v4/user/performUserSearch?type=user&searchId=62a884ed984cd32eaa3255fb&queries=%5B%2264661697%22%5D&objectType=Main&filter=\(\(%7B%7Bvoltage%7D%7D=0.4%7C%7B%7Bvoltage%7D%7D=%220.4%22\)\)&sortField=_id&sortOrder=desc&skip=0&limit=10 | https://airlay.ru/api/v4/user/performUserSearch?type=user&searchId=62a884ed984cd32eaa3255fb&queries=%5B%2264661697%22%5D&objectType=Main&filter= ( (%7B%7Bvoltage%7D%7D=0.4%7C%7B%7Bvoltage%7D%7D=%220.4%22 ) )&sortField=_id&sortOrder=desc&skip=0&limit=10 |
| |
| Во первых вам понадобиться идентификатор поиска, его можно получить в администрировании просто кликнув на идентификатор возле поиска. Его указываем в поле searchId = 62a884ed984cd32eaa3255fb. Поле type = user статичное, оно означает, что используем пользовательский поиск. objectType = Main тоже статическое поле. В поле queries = можно указать значение, по которому можно выполнить поиск объектов в БД. | Во первых вам понадобиться идентификатор поиска, его можно получить в администрировании просто кликнув на идентификатор возле поиска. Его указываем в поле searchId = 62a884ed984cd32eaa3255fb. Поле type = user статичное, оно означает, что используем пользовательский поиск. objectType = Main тоже статическое поле. В поле queries = можно указать значение, по которому можно выполнить поиск объектов в БД. |
| |
| ''filter = /(/({{voltage}}=0.4|{{voltage}}="0.4"/)/)'' в фильтр через И и ИЛИ можно указать различные поля для фильтрации. ''sortField = _id'' атрибут отвечает за сортировку данных, мы можем по ключевому полю отсортировать объекты сюда указывается поле. sortOrder = desc атрибут отвечает за порядок сортировки может быть asc и desc. ''skip=0 и limit=10'' позволяет выгружать данные порционно, рекомендуемый объём это 1000 объектов. В целом система успешно выгружает и большие пакеты, но есть ограничение в оперативной памяти в 2GIG при котором система вернёт ошибку, если не получилось получить данные. Когда система вернёт ошибку 400, то объекты закончились или их нет по заданным фильтрам. | ''filter = ( ( { { voltage } } = 0.4 | { { voltage } } = "0.4" ) )'' в фильтр через И и ИЛИ можно указать различные поля для фильтрации. ''sortField = _id'' атрибут отвечает за сортировку данных, мы можем по ключевому полю отсортировать объекты сюда указывается поле. sortOrder = desc атрибут отвечает за порядок сортировки может быть asc и desc. ''skip=0 и limit=10'' позволяет выгружать данные порционно, рекомендуемый объём это 1000 объектов. В целом система успешно выгружает и большие пакеты, но есть ограничение в оперативной памяти в 2GIG при котором система вернёт ошибку, если не получилось получить данные. Когда система вернёт ошибку 400, то объекты закончились или их нет по заданным фильтрам. |
| | |
| | ==== Добавление списка объектов ==== |
| | |
| | Чтобы добавить список объектов необходимо отправить POST запрос. |
| | |
| | https://airlay.ru/api/v3/dataset/editor |
| | |
| | В POST запрос в FORM DATA нужно передать два поля |
| | Идентификатор набора данных dataSetId 62a811a3e143c06e854cda72 |
| | Коммит на изменение commit |
| | <code javascript> |
| | [ |
| | { |
| | "type":"createRelation", |
| | "id":-1, |
| | "geometryType":"Point", |
| | "members":[], |
| | "properties": |
| | { |
| | "Date":null, |
| | "updateDate":1780913201 |
| | } |
| | }, |
| | { |
| | "type":"createRelation", |
| | "id":-2, |
| | "geometryType":"Point", |
| | "members":[], |
| | "properties": |
| | { |
| | "Date":null, |
| | "updateDate":1780913201 |
| | } |
| | } |
| | ] |
| | </code> |
| | |
| | В коммит нужно передать массив изменений. Первое поле тип с операцией создать relation. Второе поле создать идентификатор для объекта указываются поля -1, -2, -3. В теории можно указать сразу связи между объектами. Параметр -1 и меньше означает, что система создаст идентификатор и проставит объекту и укажет для него связи из коммита. Второе поле geometryType указываем тип объекта. members массив геометрических ссылок на объекты. "properties" поля для объекта туда можно сложить атрибуты. В примере выше мы создали 2 точки с 2 атрибутами и уникальными идентификаторами. |
| | |
| | ==== Обновление списка объектов ==== |
| | |
| | Чтобы обновить список объектов необходимо отправить POST запрос. |
| | |
| | https://airlay.ru/api/v3/dataset/editor |
| | |
| | В POST запрос в FORM DATA нужно передать два поля |
| | Идентификатор набора данных dataSetId 62a811a3e143c06e854cda72 |
| | Коммит на изменение commit |
| | <code javascript> |
| | [ |
| | { |
| | "type":"updateRelationProperties", |
| | "id":1, |
| | "geometryType":"Point", |
| | "members":[], |
| | "properties": |
| | { |
| | "Date":null, |
| | "updateDate":1780913201, |
| | "newField":"new" |
| | } |
| | }, |
| | { |
| | "type":"createRelation", |
| | "id":2, |
| | "geometryType":"Point", |
| | "members":[], |
| | "properties": |
| | { |
| | "Date":null, |
| | "updateDate":1780913201, |
| | "newField":"new" |
| | } |
| | } |
| | ] |
| | </code> |
| | |
| | В коммит нужно передать массив изменений. Первое поле тип с операцией создать updateRelationProperties. Мы после создания получаем список идентификаторов или через получения списка объектов мы меняем данные объекты. В текущем примере мы меняем новые точки с идентификаторами 1 и 2 и добавляем им новое поле с новым атрибутом в поле "properties" |
| | |
| | ==== Удалить списка объектов ==== |
| | |
| | Чтобы удалить список объектов необходимо отправить POST запрос. |
| | |
| | https://airlay.ru/api/v3/dataset/delete |
| | |
| | В POST запрос в FORM DATA нужно передать два поля |
| | Идентификатор набора данных dataSetId 62a811a3e143c06e854cda72 |
| | Список уникальных идентификаторов ids ["1", "2"] |
| | В примере выше мы удаляем 2 точки с идентификаторами 1 и 2. |