我正在使用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字符串,而不是正在生成的数据结构。
或者,我如何检索它正在进行的数据结构的部分。
谢谢, 约什