3

ドキュメントのリストがあり、それらを 1 つのドキュメントに結合したいと考えています。Arango のドキュメントには、次のように 2 つのドキュメントをマージできると書かれています。

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 でドキュメントを結合するにはどうすればよいですか?

4

1 に答える 1

1

を使えばできると思いますAPPLY()

APPLY()最初のパラメータとして関数名を取ります。2 番目のパラメーターは、この関数のパラメーターの配列です。次に、関数を呼び出し、配列要素を個別の呼び出しパラメーターにします。

RETURN APPLY("merge", [{foo: "bar"}, {fizz: "buzz"})
于 2015-01-14T23:13:23.567 に答える