2016-09-17 9 views
0

私はプロパティcodeLanguageを作成し、値 "SQL、JavaScript"を持つカスタムフィールドタイプを追加しました。クエリでOrientDB - プロパティフィールドを選択

ALTER PROPERTY MyClass.codeLanguage CUSTOM type='SQL,JavaScript' 

私はこのように気にいらを使用:

SELECT * FROM MyClass WHERE codeLanguage['type'] = 'JavaScript' 

を私はpropetyフィールド "タイプ" の値を取得したいです。どのように

+--------------+ 
| codeLanguage | 
+--------------+ 
|SQL,JavaScript+ 
+--------------+ 

:私はこのようななめらか取得したい

+--------------+ 
| codeLanguage | 
+--------------+ 
| SQL  + 
+--------------+ 
| SQL  | 
+--------------+ 

SELECT codeLanguage['type'] FROM MyClass 

しかし、私は、単一の列 "codeLanguage" でレコードのみを取得する:私はこれをタイヤ付き値のプロパティフィールドの値だけをメタデータとして取得しますか?

+0

あなたはどのバージョンを使用していますか? –

答えて

0

CUSTOMデータ型を使用するには、marshallおよびunmarshallメソッドを提供する必要があります。参照:OrientDB - Supported Types。あなたの目標は何ですか?今のように、EMBEDDEDLISTタイプを使用することができます。次に例を示します。

create class MyClass extends v 
create property MyClass.codeLanguage EMBEDDEDLIST 
insert into MyClass(codeLanguage) values (['SQL','JavaScript']) 
select * from MyClass where codeLanguage contains "JavaScript" 
select codeLanguage from MyClass 

最後のクエリの出力:

select codeLanguage from MyClass

+1

あなたは私のことを正しく理解していません。私は解決策を見つけるhttp://stackoverflow.com/a/28317179/4907397。この回答は私が見つけたものです。 –

関連する問題