Arangodb 如何删除Arango数据库中的嵌套记录

Arangodb 如何删除Arango数据库中的嵌套记录,arangodb,aql,Arangodb,Aql,我想删除纬度和经度 { "property_status": "available", "property_address": { "latitude": 35.1269874, "longitude": 45.34897523 } } 由于您没有提供任何上下文,让我向您展示如何在AQL中执行此操作: FOR doc IN coll FILTER ... // find the right document(s) UPDATE MERGE(doc, { pr

我想删除纬度和经度

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

由于您没有提供任何上下文,让我向您展示如何在AQL中执行此操作:

FOR doc IN coll
  FILTER ... // find the right document(s)
  UPDATE MERGE(doc, { property_address: {} }) IN coll
查询的思想是用一个空对象替换
property\u address
的属性值。如果该对象包含除要保留的纬度和经度之外的其他子属性,则这不是一个选项

让我们假设以下文档:

{
  "_key": "1234",
  "property_status": "available",
  "property_address": {
    "latitude": 35.1269874,
    "longitude": 45.34897523,
    "place": "Kalar"
  }
}
如果我们想删除
纬度
经度
,而不是
地点
,那么您可以在AQL中执行以下操作:

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