2015-10-17 56 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)