如何使用 AQL 查询在 ArangoDB 中接收最后插入的 _key?我将项目放在集合中,以下元素必须包含 _key 创建的元素。我如何获得这个_key?
问问题
628 次
3 回答
9
关于这个问题的更新:从 ArangoDB 2.4 开始,即使使用 AQL 查询也可以检索刚刚插入的文档(或多个文档)。
在 ArangoDB 2.3 的早期版本中,单个文档 INSERT 的语法是:
INSERT { value: 1 } IN collection
无法检索刚刚插入的文档的系统属性(_key
等_rev
)。从 2.4 开始,以下也是可能的:
INSERT { value: 1 } IN collection LET result = NEW RETURN result
以上返回创建的文档,包括指定的属性(value
在上述情况下)和系统属性。
它也适用于多文档插入,例如以下查询
FOR i IN 1..10
INSERT { value: i } IN collection
可以变成
FOR i IN 1..10
INSERT { value: i } IN collection LET result = NEW RETURN result
返回所有插入的文档。
于 2015-02-05T20:29:23.827 回答
2
遗憾的是,目前 (2.3) 无法接收最后插入_key
的 AQL 查询。
但是,您可以使用它db.<collection>.save({ Hello : "World" }):
来检索最新的_key
于 2014-12-16T15:07:03.047 回答
0
退回文件
INSERT { myValue: "123", myValue2: "456" } INTO myCollection RETURN NEW
仅返回 _key
INSERT { myValue: "123", myValue2: "456" } INTO myCollection LET inserted = NEW RETURN inserted._key
于 2019-08-01T12:02:36.280 回答