繁体   English   中英

mongo javascript --eval失败了

[英]mongo javascript --eval is failing

这适用于mongo终端

$ mongo datas
> db.mydb.update({},{$set : {'ids.my_key':''}}, {multi:true})

但是从命令行进行评估时失败了。

mongo datas --eval "db.mydb.update({},{$set : {'ids.my_key':''}}, {multi:true})"
MongoDB shell version: 2.4.5
connecting to: datas
Thu Dec 12 12:35:24.063 JavaScript execution failed: SyntaxError: Unexpected token :

我认为这与报价相关,但未能使其发挥作用。

问题不在于mongo shell,而是你的OS shell试图解释你想要传递给mongo的一些字符。 尝试使用相同的语法,但在整个表达式和单引号内使用单引号:

$ mongo datas --eval "db.mydb.update({},{$set : {'ids.my_key':''}}, {multi:true})"
MongoDB shell version: 2.4.5
connecting to: datas
Thu Dec 12 18:14:22.049 JavaScript execution failed: SyntaxError: Unexpected token :
$ mongo datas --eval 'db.mydb.update({},{$set : {"ids.my_key":""}}, {multi:true})'
MongoDB shell version: 2.4.5
connecting to: datas
$ 

尝试更新mongo shell版本:脚本在2.4.8上成功执行。

暂无
暂无

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

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