2016-09-17 128 views
0

我創建了屬性codeLanguage並添加了值爲「SQL,JavaScript」的自定義字段類型。OrientDB - 選擇專業字段

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

查詢我使用的財產以後這樣的:

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

我想歡迎使用屬性字段中的 「類型」 的值。我輪胎式這樣的:

SELECT codeLanguage['type'] FROM MyClass 

但我只得到單柱 「codeLanguage」 記載

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

我想獲得水木清華這樣的:

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

如何只有值屬性字段值可能作爲元數據?

+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。這個答案是我發現的。 –