我有一个代码,我正在使用shell脚本命令运行mongo javascript:
mongo --eval "var lower='30000';" <servername>:27017 < mongo.js;
但是,它没有运行mongo.js,而是连接到服务器并中断。日志:MongoDB shell版本v3.6.3连接到:mongodb://:27017/testMongoDB服务器版本:2.2.1警告:外壳和服务器版本与不匹配
这个警告不是问题,但它不是在计算mongo.js脚本。你能说出我的命令出了什么问题吗?
我使用上面写的命令从shell脚本调用这个.js脚本,有没有办法将多个值传递给这些变量?
--eval
使mongoshell评估指定的javascript并忽略标准输入。
提供要作为--eval
参数或在文件中运行的所有代码,但不要同时使用这两种代码。
要将变量传递到shell脚本,请创建一个新脚本:
echo "var lower='30000';" >run.js
cat mongo.js >>run.js
mongo <servername>:27017 < run.js;