如何删除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"
}
}
如果我们要删除 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
我要删除经纬度
{
"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"
}
}
如果我们要删除 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