如何删除Arangodb中的嵌套记录

How to delete nested record in Arango DB

我要删除经纬度

{
  "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_address的属性值替换为空对象。如果该对象包含您想要保留的除纬度和经度之外的其他子属性,则这不是一个选项。

让我们假设以下文档:

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

如果我们要删除 latitudelongitude,而不是 place,那么您可以在 AQL 中执行以下操作:

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