首页 > 解决方案 > MongoDB 脚本无法加载,但代码在 Mongo shell 中工作

问题描述

我有以下脚本(script.js):

    categoricalVars = db.frekvencija_ctg.find().toArray();
​
    db.ctg.find().forEach(e => {
        db.emb_ctg.insert({ ...e, frekvencija: categoricalVars });
    });

当我尝试通过 load("script.js") 在 Mongo shell 中加载它时,我收到以下错误:

[js] SyntaxError: illegal character :

如果我在 Mongo shell 中通过复制/粘贴一一运行这些表达式,它们会起作用并且我会得到想要的结果。脚本有什么问题?

标签: javascriptmongodb

解决方案


好像您使用的是不支持花哨语法的旧版本节点。udgrade 节点或使用老式语法,例如:

    var categoricalVars = db.frekvencija_ctg.find().toArray();
​
    db.ctg.find().forEach(function(e){
        db.emb_ctg.insert(Object.assign({},e, {frekvencija: categoricalVars }));
    });

推荐阅读