ArangoJS collection.save() 的 return 值是多少?

what is the return value of ArangoJS collection.save()?

文档位于此处:
Document Manipulation · ArangoDB v3.4.1 Drivers Documentation

我看到了 collection.replace()collection.update() 的文档,但没有看到 collection.save() 的文档。我知道保存功能退出是因为我正在使用它。但它没有 return 预期值,我想参考文档。

我的具体问题是我想将文档保存到 ArangoDB 数据库并完整取回保存的文档。这是我目前所拥有的:

  async createDocument(collectionName, data) {
    try {
      const collection = this.db.collection(collectionName);
      return collection.save(data); //I want to return the saved document
    } catch(err) {
      console.log(err.message, "saving failed")
    }
  }

保存方法的文档在 DocumentCollection:

下找到

https://docs.arangodb.com/3.4/Drivers/JS/Reference/Collection/DocumentCollection.html#documentcollectionsave

您要找的答案:

returns an object containing the document's metadata

我承认这不是很详细。它return是系统属性_id_key_rev。如果您保存具有 _from_to 属性的边缘,这也适用,它们不会 return 编辑为元数据,也不会作为任何用户属性,即使它们的名称以下划线开头。

如果你想要return完整的文档,那么设置选项returnNew:

collection.save(data, { returnNew: true} );

If set to true, return additionally the complete new documents under the attribute new in the result.

结果如下所示:

{
  "_id": "coll/123",
  "_key": "123",
  "_rev": "_YDWaEaa--B",
  "new": {
    "_id": "coll/123",
    "_key": "123",
    "_rev": "_YDWaEaa--B",
    "foo": "bar"
  }
}