Как удалить вложенную запись в БД Arango - PullRequest
0 голосов
/ 29 января 2019

Я хочу удалить широту и долготу

{
  "property_status": "available",
  "property_address": {
    "latitude": 35.1269874,
    "longitude": 45.34897523
  }
}

1 Ответ

0 голосов
/ 29 января 2019

Поскольку вы не предоставили никакого контекста, позвольте мне показать вам, как это сделать на AQL:

FOR doc IN coll
  FILTER ... // find the right document(s)
  UPDATE MERGE(doc, { property_address: {} }) IN coll

Идея запроса состоит в том, чтобы заменить значение атрибута property_address пустымобъект.Если этот объект содержит дополнительные податрибуты, кроме широты и долготы, которые вы хотите сохранить, то это не вариант.

Давайте предположим, что следующий документ:

{
  "_key": "1234",
  "property_status": "available",
  "property_address": {
    "latitude": 35.1269874,
    "longitude": 45.34897523,
    "place": "Kalar"
  }
}

Если мы хотимчтобы удалить latitude и longitude, но не place, в AQL вы можете сделать следующее:

FOR doc IN coll
  FILTER doc._key == "1234"
  UPDATE MERGE(doc, { 
    property_address: UNSET(doc.property_address, "latitude", "longitude")
  }) IN coll
...