0

我正在浏览 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。

4

1 回答 1

1

驱动程序将查询选项交给服务器,因此这是要查看的相关文档:

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

keepNull创建文档时,API 不支持作为选项。它仅可用于 UPDATE/REPLACE 查询以标记要删除的属性。因此,由您在客户端执行此操作。尽管如此,您仍然可以提出功能请求。

顺便提一句。在 AQL 中,UPDATE doc WITH {} OPTIONS { keepNull: false }不会删除任何带有null值的属性!它只会删除您nullWITH {}零件中明确设置的属性。这也可能适用于驱动程序。

于 2019-11-21T00:28:38.923 回答