2016-09-17 3 views
0

속성 codeLanguage를 생성하고 "SQL, JavaScript"값을 가진 사용자 정의 필드 유형을 추가했습니다. 쿼리에서OrientDB - propery 필드를 선택하십시오

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

나는 이런 식으로 뭔가를해야만 사용 :

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

내가 인적 또는 필드 "유형"의 값을 얻을합니다. 나는이 tyred :

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을 찾았습니다. 이 대답은 제가 발견 한 것입니다. –

관련 문제