如何使用AQL查询在ArangoDB中接收最后插入的_key? 我把项目放在集合中,以下元素必须包含_key创建的元素。我怎么得到这个_key?
答案 0 :(得分: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
返回所有插入的文档。
答案 1 :(得分:2)
遗憾的是,目前(2.3)无法通过AQL查询接收最后插入的_key
。
但是,您可以使用db.<collection>.save({ Hello : "World" }):
来检索最新的_key
答案 2 :(得分:0)
返回文件
INSERT { myValue: "123", myValue2: "456" } INTO myCollection RETURN NEW
仅返回_key
INSERT { myValue: "123", myValue2: "456" } INTO myCollection LET inserted = NEW RETURN inserted._key