【问题标题】:Combining a list of documents in AQL?在 AQL 中组合文档列表?
【发布时间】:2015-01-14 20:07:28
【问题描述】:

我有一个文档列表,想将它们合并为一个文档。 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 中将文档合并在一起?

【问题讨论】:

    标签: arangodb aql


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-08-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-04
      • 1970-01-01
      相关资源
      最近更新 更多