如何创建 Class 类型的嵌入列表?
How to create an embeddedlist with Class type?
我正在使用 OrientDB 3.0.1
我创建了一个嵌入列表 属性 使用:
CREATE PROPERTY MyClass.property1 EMBEDDEDLIST
使用sql一切正常(读、写)。
但是,我想要一个仅包含特定类型文档的嵌入式列表,我想要做的是像这样:
CREATE PROPERTY MyClass.property2 EMBEDDEDLIST AnotherClass
然后我想这样做:
insert into MyClass content { "property2": [{ "@Class":"AnotherClass"...},{"@Class":"AnotherClass"...}]}
我收到这个错误:
字段 'MyClass.property2' 已声明为 EMBEDDEDLIST 但使用了不兼容的类型
那么,我如何 force/validate 让我的 embeddedList 只接受特定 Class 的文档?也许使用 Hook?
更新:它现在可以在 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
}
];
这是 v 3.0.1 中的错误,已在 v 3.0.2 中修复。
我正在使用 OrientDB 3.0.1
我创建了一个嵌入列表 属性 使用:
CREATE PROPERTY MyClass.property1 EMBEDDEDLIST
使用sql一切正常(读、写)。
但是,我想要一个仅包含特定类型文档的嵌入式列表,我想要做的是像这样:
CREATE PROPERTY MyClass.property2 EMBEDDEDLIST AnotherClass
然后我想这样做:
insert into MyClass content { "property2": [{ "@Class":"AnotherClass"...},{"@Class":"AnotherClass"...}]}
我收到这个错误:
字段 'MyClass.property2' 已声明为 EMBEDDEDLIST 但使用了不兼容的类型
那么,我如何 force/validate 让我的 embeddedList 只接受特定 Class 的文档?也许使用 Hook?
更新:它现在可以在 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
}
];
这是 v 3.0.1 中的错误,已在 v 3.0.2 中修复。