2015-10-17 33 views
2

我正在评估OrientDB数据库。将记录插入选择的OrientDB类的嵌入字段

我有两个从关系数据库导入的文档类。

class Order with properties (ID: integer, OrderItems: EmbeddedList of OrderItem) 

class OrderItem with properties (ID: integer, OrderID: integer, PropA: string) 

两个类填充有从数据库(除了场Order.OrderItems)数据。

现在我想根据OrderID将OrderItem类中的数据插入到Order类中。

我已经试过SQL像

update Order set OrderItems = (select from OrderItem where OrderID = Order.ID) 

没有成功,有错误,如

字段“Order.OrderItems”,被宣布为EMBEDDEDLIST但价值与有效的recordId文件...

我也明白,嵌入式记录不应该有这样的recordId我已经试过

update Order set OrderItems = (select PropA from OrderItem where OrderID = Order.ID) 

没有成功,有错误,如

字段“Order.OrderItems”,被宣布为EMBEDDEDLIST与连接类的OrderItem的',但该纪录至今无人类...

我也曾尝试

update Order 
set OrderItems = (select @class, PropA from OrderItem where OrderID = Order.ID) 

没有成功。

是否有任何其他方式(OrientDB 2.1.4)...

强麦

回答

1

我已经找到了解决办法

update Order 
set OrderItems = (select $current.exclude('@rid') from OrderItem where $parent.$current.ID = OrderID)