简体   繁体   English

在OrientDB中使用嵌入式地图更新字段的问题

[英]Issue with updating field with embedded map in orientdb

I have a javascript function in orientdb studio(2.1.12) where I am trying to update field called "node" with json whose property is of type embeddedMap in uiJson Document/Class.Find the code below: 我在orientdb studio(2.1.12)中有一个javascript函数,在其中尝试使用json更新属性为“ node”的字段,该字段的属性为uiJson Document / Class中的EmbeddedMap类型。查找以下代码:

 var dt = db.query("SELECT * from uijson");
    childUijson = dt[0].getRecord();
     node = childUijson.field('node');
     print(node )
    db.command('update uiJson set node=' + node + 'where @rid=18:1');
    return node;
       /*Print in oriendb console{0=inputs[{s_type=URL,source=,v_type=java.l,value=http://www.gmail.com}], next={0=1}, label=Open Url, type=OPEN_URL, component=FireFox, screenshot=false,chained=false,flowchartElement=startElement_1,left=0.12737921}}
*/
/*Return statement {
        "0": {
            "inputs": [
                {
                    "s_type": "URL",
                    "source": "",
                    "v_type": "java.lang.String",
                    "value": "http://localhost:8090/Automaton/"
                }
            ],
            "next": {
                "0": "1"
            },
            "label": "Open Url",
            "type": "OPEN_URL",
            "component": "FireFox",
            "screenshot": false,
            "chained": false,
            "flowchartElement": "startElement_1",
            "top": 0.4410876,
            "left": 0.12737921
        }           
        "@type": "d",
        "@version": 0
    }*/

Print and return uses the same variable node .While printing in the console it prints using java object tostring() while returning it gives as Json.Please help me in updating a field with Json of type embedded map. 打印和返回使用相同的变量节点 。在控制台中打印时,它使用java对象tostring()进行打印,同时返回它以Json形式给出。请帮助我使用嵌入地图类型的Json更新字段。

Error message {
    "errors": [
        {
            "code": 500,
            "reason": 500,
            "content": "com.orientechnologies.orient.core.sql.OCommandSQLParsingException: Error on parsing command at position #0: Error parsing query: \nupdate uiJson set node={0={inputs=[{s_type=URL, source=, v_type=java.lang.String, value=http://www.gmail.com/}], next={0=1}, label=Open Url, type=OPEN_URL, component=FireFox, screenshot=false, chained=false, flowchartElement=startElement_1, top=0.4410876, left=0.12737921}}where @rid=18:1\nEncountered \" <INTEGER_LITERAL> \"0 \"\" at line 1, column 25.\r\nWas expecting one of:\r\n    <TO> ...\r\n    <VALUES> ...\r\n    <SET> ...\r\n    <ADD> ...\r\n    <PUT> ...\r\n    <MERGE> ...\r\n    <CONTENT> ...\r\n    <REMOVE> ...\r\n    <ORDER> ...\r\n    <GROUP> ...\r\n    <OFFSET> ...\r\n    <RECORD> ...\r\n    <LUCENE> ...\r\n    <NEAR> ...\r\n    <WITHIN> ...\r\n    <EXCEPTION> ...\r\n    <FIND> ...\r\n    <REFERENCES> ...\r\n    <RECORD_ATTRIBUTE> ...\r\n    <CHARACTER_LITERAL> ...\r\n    <STRING_LITERAL> ...\r\n    \"}\" ...\r\n    <IN> ...\r\n    <KEY> ...\r\n    <IDENTIFIER> ...\r\n    <QUOTED_IDENTIFIER> ...\r\n    "
        }
    ]
}
childUijson.field("node",node);
db.save();
db.commit();

Solved my problem 解决了我的问题

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM