arangojs: keepNull не подходит для collection.save?

Я просматриваю документацию по arangojs и смотрю на функцию collection.update(), keepNull — одна из опций, которые можно добавить. https://github.com/arangodb/arangojs/blob/master/docs/Drivers/JS/Reference/Collection/DocumentManipulation.md

При просмотре той же документации для функции collection.save() (https://github.com/arangodb/arangojs/blob/master/docs/Drivers/JS/Reference/Collection/DocumentCollection.md) такой опции нет. Почему? Нужно ли мне сначала иметь исходный файл, а затем обновить его с помощью keepNull: false, прежде чем я получу его для очистки моих документов от любых ключей с нулевым значением? Или это недостаток в документации? Я думаю, что это правильно, так как мне не удалось установить для keepNull значение false, используя collection.save.


person Omnia87    schedule 19.11.2019    source источник


Ответы (1)


Драйвер передает параметры запроса на сервер, так что это соответствующая документация, на которую стоит обратить внимание:

https://www.arangodb.com/docs/stable/http/document-working-with-documents.html#create-document

API не поддерживает параметр keepNull при создании документа. Он доступен только для запросов UPDATE/REPLACE, чтобы пометить атрибуты для удаления. Так что это зависит от вас, чтобы сделать это на стороне клиента. Тем не менее, вы можете открыть запрос функции.

КСТАТИ. В AQL UPDATE doc WITH {} OPTIONS { keepNull: false } не удаляет никакие атрибуты со значением null! Он удаляет только атрибуты, для которых вы явно установили значение null в части WITH {}. Это может относиться и к водителю.

person CodeManX    schedule 21.11.2019