我有一份文件清单,并希望将它们合并为一份文件。 Arango的文档说你可以合并两个这样的文件:

arangosh [EC]> db._query('RETURN MERGE({foo: "bar"}, {fizz: "buzz"})', {}).toArray()
[ 
  { 
    "foo" : "bar", 
    "fizz" : "buzz" 
  } 
]

但合并功能不接受列表:

arangosh [EC]> db._query('RETURN MERGE([{foo: "bar"}, {fizz: "buzz"}])', {}).toArray()
JavaScript exception in file '/usr/share/arangodb/js/client/modules/org/arangodb/arangosh.js' at 104,11: [ArangoError 1541: invalid number of arguments for function 'MERGE()', expected number of arguments: minimum: 2, maximum: 65536 (while parsing)]
!    throw new ArangoError(requestResult);

如何在AQL中将文档组合在一起?

#1楼 票数:1 已采纳

我认为可以使用APPLY()来完成。

APPLY()将函数名称作为其第一个参数。 第二个参数是此函数的参数数组。 然后它将调用该函数并使数组元素成为单独的调用参数:

RETURN APPLY("merge", [{foo: "bar"}, {fizz: "buzz"})

  ask by mikewilliamson translate from so

未解决问题?本站智能推荐:

2回复

在AQL中组合边缘和文档集合

是否可以通过相同的AQL查询查询几个有效(具有索引速度)的集合是哪些边缘或文档集合? 我想使用边缘在表上的RDBM上或多或少地模拟外键的行为。 感谢名单
1回复

在AQL中组合2个结果集

有没有一种方法可以将2个结果集(通过2个不同的查询获得)组合到一个结果集中? 类似于以下内容?
1回复

AQL的修剪:如何组合条件?

我正在运行ArangoDB 3.4.5并且一直在使用PRUNE语句。 我在合并条件时遇到一些困难。 假设我的路径p上的某些顶点v具有整数属性ia而某些v具有布尔属性ba 。 甚至沿p索引v例如p.vertices[2]都具有ba 。 PRUNE HAS(v, "ia") AND v.
2回复

在单个AQL查询中插入并返回文档

当我使用AQL将文档插入到集合中时,它将返回一个空列表。 有没有办法在单个AQL查询中插入文档并获取完整文档? 我希望能得到的是:
2回复

AQL-在ArangoDB中查找具有非唯一属性的文档

说我有以下文件: 我想编写一个AQL语句,它返回按名称分组的文档的键, 但仅在名称出现多次时才返回。 所以我想要的输出是: 到目前为止,我已经提出了 返回: 如何修改AQL命令以仅获取具有两个或更多条目的数组?
1回复

ArangoDB/AQL更新嵌套文档

鉴于以下文档结构: 你能告诉我为什么以下查询不起作用吗? 错误消息是“缺少文档密钥”。 我在另一个SO( ArangoDB AQL:更新嵌入式数组中的单个对象)中找到了更长时间更复杂的解决方法,但我很好奇这个更简单的查询究竟出了什么问题。
1回复

arangodb/aql更新文档数组

给定以下文档结构: 我想将参与者 [*].status 数组更新为“未预订”到“已预订”。 你能告诉我更新数组值的 Arango 查询吗?
2回复

计算AQL中遍历的不同节点

我可以从查询中获取所有不同的节点,但不能计数: 我只想得到结果的计数。 我尝试按照docs中的建议使用LENGTH(DISTINCT v._key) ,但这不是AQL的正确语法: 语法错误,“ DISTINCT v._key)附近有意外的DISTINCT修饰符” 天真的解决方案是