如何使用Class类型创建嵌入式列表?

时间:2018-06-13 18:58:06

标签: orientdb

我正在使用OrientDB 3.0.1

我使用以下方法创建了一个embeddelist属性:

CREATE PROPERTY MyClass.property1 EMBEDDEDLIST

使用sql,一切正常(阅读,写作)。

但是,我想要一个只包含特定类型文档的嵌入式列表,我想要的是做这样的事情:

CREATE PROPERTY MyClass.property2 EMBEDDEDLIST AnotherClass

然后我想这样做:

insert into MyClass content { "property2": [{ "@Class":"AnotherClass"...},{"@Class":"AnotherClass"...}]}

我收到此错误:

字段' MyClass.property2'已被声明为EMBEDDEDLIST,但使用了不兼容的类型

那么,我如何强制/验证我的embeddedList只接受特定类的文档?也许使用胡克?

更新:它现在在Orient 3.0.2中运行(感谢Luigi!)这里是解决方案:

create class OneClass extends V;
create property OneClass.myList embeddedlist Coordinates;

insert into OneClass set myList = [
                {
                    "@class": "Coordinates",
                    "latitude": 6511,
                    "longitude": 3
                },
                {
                    "@class": "Coordinates",
                    "latitude": 6518,
                    "longitude": 3
                }
];

1 个答案:

答案 0 :(得分:0)

这是v 3.0.1中的一个错误,已在v 3.0.2中修复。