2017-04-20 10 views
1

に存在しない場合、私は端にユニーク制約を持つエッジを作成します。OrientDBは - 副選択

CREATE CLASS hasAssignee extends E 
CREATE PROPERTY hasAssignee.out LINK Assignable 
CREATE PROPERTY hasAssignee.in LINK User 
CREATE INDEX UniqueHasAssignee ON hasAssignee(out,in) UNIQUE 

は、私は、彼らはまだ1つのクエリに存在しない場合は、エッジを作成し、複数にしたいです。それらが存在する場合は、それらを置き換えるか、単純に追加しないでください。そのようなことが、エラーの可能性なし:私が気づいた何から

CREATE EDGE hasAssignee FROM (SELECT FROM Project WHERE id=:id) TO (SELECT FROM User WHERE login in :login) 

UPSERTは一度に一つだけのエッジを扱うことができます(少なくとも私はスタジオでのクエリ構文解析可能なを生成しませんでした)

私はいくつかのpossibeのソリューションを参照してください(私は、ドキュメント内のそれのように何も表示されません):エラーをスローしません

  • ソフトのインデックスを、IFNOTEXISTSをCREATE

    1. 何かのように、単に追加作成することはありませんエッジ
    2. 、一意のインデックスを削除する複製を作成し、何とか各クエリの後に重複を削除(?)

    がorientdbにそのような何かをすることは可能ですか?私は要求を記入する必要がありますか?このため開いている機能要求がある

  • 答えて

    2

    https://github.com/orientechnologies/orientdb/issues/4436

    が私の提案は、あなたが提案がありどのように多くの票をチェックするためのツールを持っていますか、それ

    +0

    に投票するのですか? +1でコメントを追加する方が良いですか、github upvoteを使用しますか? (私にとって+1のコメントはごみです。私はちょうどあなたがそれらを数えている場合に尋ねています) –

    +0

    それは科学的に厳密ではありませんが、私は両方を数えていると思いますので、upvoteはOKです –

    関連する問題