以什么方式可以获取存储为OrientDB类字段的JSON中的字段?
例如, 我有一个类FILE有一个名为'data'的字段。
orientdb {db=baasbox}> select data from FILE
----+----------------------
# | data
----+----------------------
0 | {"email":"my@domain.com"}
----+----------------------
字段'data'是一个JSON,我想获得“email”字段:使用以下内容:
orientdb {db=baasbox}> select data.email from FILE
----+----------------------
# | data.email
----+----------------------
0 | my@domain.com
----+----------------------
以上sql不起作用并提供此错误:SEVE Error on reading rid with value '[{"email":"my@domain.com"}]' [OSQLMethodField]
我已经尝试在投影中提供data.email
,data[email]
,data['email']
,但是徒劳无功。
任何帮助表示赞赏。
答案 0 :(得分:3)
我相信你应该在嵌入时将数据字段定义为String。请尝试以下方法。
create class File
create property File.data EMBEDDED
insert into File set data = {"email":"my@domain.com"}
select data.email from File
<强>更新强>
对于2.0之前的OrientDB版本:
create class File
create property File.data EMBEDDED
insert into File set data = {"@type":"d", "email":"my@domain.com"}
select data.email from File