4

これを行う簡単で迅速な方法があると確信していますが、それは私を逃れています。いくつかの重複レコードを含む大規模なデータセットがあり、重複を取り除きたいと考えています。(重複は 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
4

1 に答える 1