2016-09-17 94 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。这个答案是我发现的。 –