ArangoDB运行多个查询

3

我希望能够运行多个查询,该怎么做?

例如,我有以下两个查询:

FOR doc IN users
    RETURN doc

FOR doc IN users
    RETURN { user: doc, newAttribute: true }

如果我必须运行两个查询,则必须分别运行它们,是否有一种执行脚本的方法,或者我需要像SQL一样在结尾处加上分号并运行它。

我可以使用arangosh吗?

1个回答

4
你可以使用LET来在单个查询中执行多个子查询:
LET firstUserResult = (
   FOR doc IN users
   RETURN doc 
)

LET secondUserResult = (
   FOR doc IN users
   RETURN { user: doc, newAttribute: true }
)

RETURN { first: firstUserResult, second: secondUserResult }

这里有一些注意事项 - 你需要在查询末尾添加一个额外的RETURN语句。这对于读取数据确实有效,但在尝试写入多个查询时可能会遇到问题。


我该如何在JavaScript驱动程序中合并它们? 对于我来说,查询数量是动态的:我有一个需要存储在数据库中的对象列表。我需要检查是否存在与相同ID的同一集合中的任何对象,然后删除现有对象并插入新对象。查询1 = 如果存在具有相同ID的文档,则删除该文档 查询2 = 插入新文档我需要运行这两个查询以处理用户从该列表中接收到的每个项。 - Ronak SHAH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接