Как UNSET вложенный атрибут? - PullRequest
       64

Как UNSET вложенный атрибут?

0 голосов
/ 20 октября 2019

У меня есть такой документ:

{
  "name": "FirstObj",
  "attributes": {
    "my_attributes/601890": {
      "value": "Hellow World",
      "id": "my_attributes/601890",
      "name": "TEstAttr",
      "myAttribute": "my_attributes/601890",
      "_class": "MyAttributeValue"
    }
  },
  "_class": "MyObj"
}

Я не могу написать запрос AQL, который отменяет "myAttribute": "my_attributes/601890". Поэтому я хочу получить такой окончательный документ:

  {
  "name": "FirstObj",
  "attributes": {
    "my_attributes/601890": {
      "value": "Hellow World",
      "id": "my_attributes/601890",
      "name": "TEstAttr",
      "_class": "MyAttributeValue"
    }
  },
  "_class": "MyObj"
}

Обратите внимание, поле attributes является объектом, подобным ключу-значению. (my_attributes/601890: {}) Поле будет огромным в будущем

1 Ответ

0 голосов
/ 21 октября 2019

Вы можете попытаться установить значение null и установить параметры keepNull на false, чтобы удалить поле во время обновления.

For item in collection
    UPDATE item 
    WITH {attributes: {"my_attributes/601890": {myAttribute: null}} } 
    IN collection 
    OPTIONS { keepNull: false }
...