如何使用SQL更新将列表或映射值放入嵌入式映射?

时间:2014-04-29 19:48:21

标签: sql database orientdb

我的课程Item的属性map类型为EMBEDDEDMAP

INSERT INTO Item (map) VALUES ({'listin': []})

此INSERT使用@rid =#22:0和map = {“listin”创建一条新记录:[0]}。
现在,我想使用SQL UPDATE将新条目放入map属性。

UPDATE #22:0 PUT map = 'strVal', 'abcdef'

StringInteger类型的新条目添加到map中可以正常工作。
结果:map = {“listin”:[0],“strVal”:“abcdef”}

当我尝试对列表或地图进行相同操作时,我会遇到异常。

UPDATE #22:0 PUT map = 'listVal', []  
java.lang.StringIndexOutOfBoundsException: String index out of range: -1  

UPDATE #22:0 PUT map = 'mapVal', {}  
java.lang.StringIndexOutOfBoundsException: String index out of range: -1

我跟着OrientDB Wiki,但是没有将集合条目放入地图的示例 我正在使用OrientDB Studio(Community Edition v1.7-rc2)来执行查询。

为什么这些更新会引发异常? 制定查询的正确方法是什么?

1 个答案:

答案 0 :(得分:2)

尝试使用OrientDB 1.7-SNAPSHOT修复此问题。