Что касается массового удаления API в arangodb

Я ищу API для массового удаления в ArangoDB. Как я мог это сделать?

Я прошел по ссылке ниже... но я чувствовал, что это слишком утомительно. https://docs.arangodb.com/HttpBatchRequest/index.html

На самом деле я ищу что-то более простое, как синтаксис массового импорта (вставлено ниже для вашей справки)

curl --data-binary @ - -X POST --dump - " http://localhost:8529/_api/import?collection=test&createCollection=true" ["firstName", "lastName", "age", "пола" ] [ "Джо", "Паблик", 42, "мужчина"] ["Джейн", "Доу", 31, "женщина"]

Пожалуйста, помогите мне в этом отношении.

заранее спасибо

  • Махи

1 ответ

Решение

Вы можете легко удалить группу элементов из коллекций, используя AQL, например: (как если бы вы выполняли его в arangosh, который в перспективе будет использовать API REST)

db._query(`FOR item IN test FILTER item._key IN @listToDelete REMOVE item  IN test`,
          {listToDelete: ['key1', 'key2']})

как я сделал с атрибутом _key, вы должны указать атрибут, который будет соответствовать массиву в значениях связывания.

Используя ngrep или wireshark, вы можете легко узнать, как самостоятельно отправить такой запрос AQL через интерфейс REST без драйверов:

POST /_db/_system/_api/cursor HTTP/1.1
Host: 127.0.0.1
Connection: Keep-Alive
User-Agent: ArangoDB
Accept-Encoding: deflate
Authorization: Basic xxxxx
Content-Length: 133

{"query":"FOR item IN test FILTER item._key IN @listToDelete REMOVE item  IN test","count":false,"bindVars":{"listToDelete":["840"]}}

T 127.0.0.1:8529 -> 127.0.0.1:39125 [AP]
HTTP/1.1 201 Created
Server: ArangoDB
Connection: Keep-Alive
Content-Type: application/json; charset=utf-8
Content-Length: 223

{"result":[],"hasMore":false,"cached":false,"extra":{"stats":{"writesExecuted":0,"writesIgnored":0,"scannedFull":0,"scannedIndex":0,"filtered":0,"executionTime":2.739429473876953e-4},"warnings":[]},"error":false,"code":201}
Другие вопросы по тегам