我的课程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'
将String
或Integer
类型的新条目添加到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)来执行查询。
为什么这些更新会引发异常? 制定查询的正确方法是什么?
答案 0 :(得分:2)
尝试使用OrientDB 1.7-SNAPSHOT修复此问题。