在orientdb 2.2中 - 尝试将属性的默认值设置为JSON字符串

时间:2018-02-14 21:55:19

标签: sql orientdb

我正在使用orientdb 2.2,我正在尝试定义一个默认值为json字符串的属性。

我不希望它的默认值是字符串表示的对象,我希望它是实际的字符串。我有:

create property Person._template STRING;
alter property  Person._template default '{\"title\":[\"firstname\", \"lastname\"], \"brief\":[\"email\"], \"body\":[\"phone\",\"dbname\"], \"links\":[]}';

当我向数据库询问架构的这个属性时,我会得到我期望的内容:

select expand(properties) from (
  select expand(classes) from metadata:schema
  ) where name = 'Person'

{"title":["firstname", "lastname"], "brief":["email"], "body":["phone","dbname"], "links":[]}

但是,当我插入其中一条记录并检索其_template时,我得到:     从Person

中选择_template
{brief=[email], links=[], title=[firstname, lastname], body=[phone, dbname]}

显然将默认值字符串视为创建一些结构化数据的指令。如果我在插入或更新查询时使用相同的字符串语法,我会得到我期望的JSON字符串。

那么如何将此属性的默认值设置为JSON字符串,而不是正在生成的数据结构。

或者,我如何检索它正在进行的数据结构的部分。

谢谢, 约什

0 个答案:

没有答案