如何在 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();

来自工作室