如何在OrientDb中使用sql将嵌入式映射添加到记录
我尝试将嵌入的地图添加到记录中:如何在OrientDb中使用sql将嵌入式映射添加到记录,orientdb,Orientdb,我尝试将嵌入的地图添加到记录中: UPDATE #12:6941 set fieldWithEmbeddedMap ={ "1": { "@type": "d", "@version": 0, "@class": "myClass", "myFiled": "ok" }, "2": { "@type": "d", "@version": 0, "@class":
UPDATE #12:6941 set fieldWithEmbeddedMap ={
"1": {
"@type": "d",
"@version": 0,
"@class": "myClass",
"myFiled": "ok"
},
"2": {
"@type": "d",
"@version": 0,
"@class": "myClass",
"myFiled": "ok"
}
}
但结果是
{"1":"#17:9","2":"#17:10"}
设置embedded field的正确语法是什么?我创建了一个具有属性名(string)和fieldWithEmbeddedMap(embeddedMap)的类 我已经创建了一个Class2类型的记录
insert into class2(name) values ("Alessandro") // 14:0
在我使用了你的代码之后
UPDATE #14:0 set fieldWithEmbeddedMap ={
"1": {
"@type": "d",
"@version": 0,
"@class": "myClass",
"myFiled": "ok"
},
"2": {
"@type": "d",
"@version": 0,
"@class": "myClass",
"myFiled": "ok"
}
}
结果如下
希望能有帮助
编辑
Java代码
Map<String, Object> myEntries = new HashMap<String, Object>();
myEntries.put("key1",1);
myEntries.put("key2",2);
myEntries.put("key3",3);
ODocument doc = new ODocument("Test");
doc.field("mymap", myEntries, OType.EMBEDDEDMAP);
doc.save();
mapmentries=newhashmap();
myEntries.put(“键1”,1);
myEntries.put(“键2”,2);
myEntries.put(“键3”,3);
气味文件文件=新气味文件(“试验”);
文档字段(“mymap”、myEntries、OType.EMBEDDEDMAP);
doc.save();
从工作室
嗨,泽拉,你的嵌入式地图需要使用类吗?myClass@wolf4ood基本上我用java
map
来放置map,所以字段插入正确(它包含“@class”)。我无法更新中的字段studio@zella这就是你想要实现的吗?是的,它是有效的。我没有创建任何模式,我只插入带有doc.field(“fieldWithEmbeddedMap”,map,OType.EMBEDDEDMAP)的文档代码>我不确定-在studio中,我将字段视为“嵌入式”,而不是“嵌入式映射”(在无模式模式下),这是正确的吗?