我正在评估OrientDB数据库。
我有两个从关系数据库导入的文档类。
class Order with properties (ID: integer, OrderItems: EmbeddedList of OrderItem)
和
class OrderItem with properties (ID: integer, OrderID: integer, PropA: string)
这两个类都填充了数据库中的数据(Order.OrderItems字段除外)。
现在我想将OrderItem类中的数据插入到基于OrderID的类Order中。
我尝试过像
这样的SQLupdate 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)......
强麦
答案 0 :(得分:2)
我找到了解决方案
update Order
set OrderItems = (select $current.exclude('@rid') from OrderItem where $parent.$current.ID = OrderID)