如何在 OrientDb 中添加嵌入式地图以使用 sql 进行记录
How add embedded map to record with sql in OrientDb
我尝试添加内嵌地图来记录:
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"}
设置嵌入字段的正确语法是什么?
我已经创建了一个 class 具有 属性 name(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();
来自工作室
我尝试添加内嵌地图来记录:
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"}
设置嵌入字段的正确语法是什么?
我已经创建了一个 class 具有 属性 name(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();
来自工作室