2016-07-19 20 views
2

別のarango質問に戻る。Arange AQL文書とエッジを書き直してください

文書とそのエッジを簡単に削除する方法はありますか?このソリューションは再帰的ですか?

また、以下のようなものがあるとします。

  • サークルはドキュメントコレクションに格納されます。
  • 正方形は、ドキュメントコレクションに格納されます。
  • 次に、私は2つのエッジコレクションHAS_CIRCLEとHAS_SQUAREを持っています。これは、様々な\に適切に対応しています。

    Circle A 
        /  \ 
    Square 1 Circle B 
          / \   \ 
         Circle C Square 2 Square 3 
        /
        Square 4 
    

    私はサークルB.を削除したい場合は、私はまた、サークルC、スクエア2、スクエア3、およびすべてのエッジとともにスクエア4を削除したいです。

    だから、基本的に私は終わるだろう。

    Circle A 
        / 
    Square 1 
    

    私のアプローチは、サークルCのエッジと関連ドキュメントのすべてのキーを取得することです。それから私はjavascriptでこれを再帰的に行います。私はarangojsモジュールを使用していて、私が必要とするものがあればremoveByKeysを使います。

    魔法があれば分かりません。紛失しています。

    答えて

    1

    それはあなたが最初にあなたが削除して、彼らはにいるコレクションと連動しておきたいすべてのドキュメントIDを見つけるために持っているように動作します。

    あなたはすべてのIDを収集したら、 IDのリストを持つ各コレクションに対して1つのREMOVEステートメントを発行する必要があります。

    例AQLはこれと同様の質問Safe removal of vertexes in ArangoDB (using _ids)?でこれを達成する方法を問い合わせます。

    関連する問題