我正在阅读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更新该文件,然后才能从任何空值键中清除我的文档?还是在文档中缺少?我认为这是正确的,因为我还没有使用collection.save我自己将keepNull设置为false。
驱动程序将查询选项移交给服务器,所以这是要查看的相关文档:
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 {}
的属性。这也可能适用于驱动程序。