0

文档位于此处:
文档操作·ArangoDB v3.4.1 驱动程序文档

我看到了collection.replace()and的文档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")
    }
  }
4

1 回答 1

1

save 方法的文档位于DocumentCollection下:

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

您要寻找的答案:

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

我承认这不是很详细。它返回的是系统属性_id和. 如果您使用 a和 a属性保存边缘,这也适用,它们不会作为元数据返回,也不会作为任何用户属性返回,即使它们的名称以下划线开头。_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"
  }
}
于 2019-01-16T10:19:26.227 回答