これを行う簡単で迅速な方法があると確信していますが、それは私を逃れています。いくつかの重複レコードを含む大規模なデータセットがあり、重複を取り除きたいと考えています。(重複は 1 つのプロパティによって一意に識別されますが、ドキュメントの残りの部分も同じである必要があります)。
いくつかの異なる方法で一意の値のみを持つ新しいコレクションを作成しようとしましたが、それらはすべて非常に遅いです。例えば:
FOR doc IN Documents
COLLECT docId = doc.myId, doc2 = doc
INSERT doc2 IN Documents2
また
FOR doc IN Documents
LET existing = (FOR doc2 IN Documents2
FILTER doc.myId == doc2.myId
RETURN doc2)
UPDATE existing WITH doc IN Documents2
または(これにより、「一意の制約に違反しています」というエラーが表示されます)
FOR doc IN Documents
UPSERT {myId: doc.myId}}]}
INSERT doc
UPDATE doc IN Documents2