代码之家  ›  专栏  ›  技术社区  ›  Pyntamil Selvi

使用orientdb中的嵌入式地图更新字段时出现问题

  •  0
  • Pyntamil Selvi  · 技术社区  · 7 年前

    我在orientdb studio(2.1.12)中有一个javascript函数,我试图用json更新名为“node”的字段,该字段的属性在uiJson文档/类中为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
        }*/
    

    节点 。在控制台中打印时,它使用java object tostring()打印,同时返回Json。请帮助我用类型为embedded map的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    "
            }
        ]
    }
    
    1 回复  |  直到 7 年前
        1
  •  0
  •   Pyntamil Selvi    7 年前
    childUijson.field("node",node);
    db.save();
    db.commit();
    

    解决了我的问题