【问题标题】:Insert records into embedded field of OrientDB class from select从选择中将记录插入到 OrientDB 类的嵌入字段中
【发布时间】:2015-10-17 12:55:48
【问题描述】:

我正在评估 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”已声明为带有链接类“OrderItem”的 EMBEDDEDLIST,但记录没有类...

我也试过

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

没有成功。

还有其他方法吗(OrientDB 2.1.4)...

麦芽酒

【问题讨论】:

    标签: sql orientdb


    【解决方案1】:

    我找到了解决办法

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

    【讨论】:

      猜你喜欢
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-06
      • 2018-03-01
      • 1970-01-01
      相关资源
      最近更新 更多