Orientdbで埋め込みフィールドのプロパティを更新する際に問題が発生しています。以下はorientdbの埋め込みカラムのプロパティを更新するには
は、問題を再現する手順は、次のとおりです
CREATE VERTEX Foo set value = { 'abc-def-hgi':"blah blah", '1ab-2cd-3ef': "aaaaa", '345-jkl-mno':'ppppp' }, id = 1
CREATE VERTEX Foo set value = { 'abc-def-hgi':"mmmmm", '1ab-2cd-3ef': "nmnmnmn", '345-jkl-mno':'qqqq' }, id = 2
CREATE VERTEX Foo set value = { 'abc-def-hgi':"lorem ipsum", '1ab-2cd-3ef': "mmmmm", '345-jkl-mno':'llll' }, id = 3
プロパティ「の値は」「組み込み」タイプのように宣言されています。
今、 "value"列の "abc-def-hgi"プロパティのidを "1"にしてレコードを更新したいとします。
私は以下のクエリを試してみましたが、それらのどちらも働いた:
update Foo set value["abc-def-hgi"] = "new new" where id = 1
update Foo set value.abc-def-hgi = "new new" where id = 1
ハイフン(「 - 」)での問題持っているようだフィールドのプロパティ名では。 2.2.11
注:
私はOrientdbのバージョンを使用しています私はthisを見つけorientdb Gitのレポ、中に問題を見下ろしていましたしています。それが私の問題と関連しているかどうかはわかりませんが、私の目的のためにはうまくいきません。
ご協力いただければ幸いです。
ハイフンなしで動作することはわかっています。しかし、プロパティ名にハイフン( " - ")を使用する必要があります。それはすべて可能ではありません、それはあなたが言うことを意味していますか? –
はい、 - でフィールドを作成しようとしたときに例外が発生したため、可能性はないと思います。 –
"create property foo.abc-def-hgi' string"に関して、ここではハイフン付きのプロパティを使用していません。この例のプロパティは "value"で、タイプは "Embedded"です。その中の動的な特性。 –