如何在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中,我将字段视为“嵌入式”,而不是“嵌入式映射”(在无模式模式下),这是正确的吗?