Как удалить вложенную запись в Arango DB

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

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

person sanket nipane    schedule 28.01.2019    source источник


Ответы (1)


Поскольку вы не предоставили никакого контекста, позвольте мне показать вам, как это сделать в 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
person CodeManX    schedule 29.01.2019