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

时间:2019-01-16 05:37:04

标签: arangodb arangojs

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

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

我的特定问题是我想将文档保存到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")
    }
  }

1 个答案:

答案 0 :(得分:1)

保存方法的文档位于 DocumentCollection 下:

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

您寻找的答案:

  

返回一个包含文档元数据的对象

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

如果您希望它返回完整的文档,请设置选项returnNew

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

如果设置为true,则另外在结果的new属性下返回完整的新文档。

结果如下:

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