Orientdb 如何创建类类型为的embeddedlist?
我正在使用OrientDB3.0.1 我使用以下方法创建了EmbeddelList属性:Orientdb 如何创建类类型为的embeddedlist?,orientdb,Orientdb,我正在使用OrientDB3.0.1 我使用以下方法创建了EmbeddelList属性: CREATE PROPERTY MyClass.property1 EMBEDDEDLIST 使用sql,一切都可以正常工作(读、写) 但是,我想要一个只包含特定类型文档的嵌入式列表,我想要做的是这样的事情: CREATE PROPERTY MyClass.property2 EMBEDDEDLIST AnotherClass 然后我想这样做: insert into MyClass content {
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
}
];
这是v3.0.1中的一个bug,在v3.0.2中已经修复。Hi,您能在github.com上打开一个问题吗?在github中添加了ThxIssue。现在问题解决了。我把解决方案放在下面。谢谢Luigi!我确认它在Orient 3.0.2中有效。我将为问题添加解决方案