将变量从shell脚本传递到mongo javascript失败
我有一段代码,其中使用shell脚本命令运行mongo javascript:将变量从shell脚本传递到mongo javascript失败,javascript,mongodb,shell,Javascript,Mongodb,Shell,我有一段代码,其中使用shell脚本命令运行mongo javascript: mongo --eval "var lower='30000';" <servername>:27017 < mongo.js; mongo--eval“var lower='30000';”:27017 cat mongo.js>>run.js mongo:27017
mongo --eval "var lower='30000';" <servername>:27017 < mongo.js;
mongo--eval“var lower='30000';”:27017
但是它没有运行mongo.js,而是连接到服务器并中断。
日志:
MongoDB外壳版本3.6.3
连接到:mongodb://:27017/测试
MongoDB服务器版本:2.2.1
警告:shell和服务器版本不匹配
此警告不是问题,但它不会计算mongo.js脚本。你能看出我的命令有什么不对吗
我使用上面写的命令从一个shell脚本调用这个.js脚本。有什么方法可以将多个值传递给这些变量吗?--eval
使mongo shell计算指定的javascript并忽略标准输入
提供您希望作为--eval
参数或在文件中运行的所有代码,但不要同时使用这两种代码
要将变量传递给shell脚本,请创建一个新脚本:
echo "var lower='30000';" >run.js
cat mongo.js >>run.js
mongo <servername>:27017 < run.js;
run.jsecho“var lower='30000';”>
cat mongo.js>>run.js
mongo:27017
因此,如果我想将变量传递给mongo.js脚本,我该怎么做?在脚本中定义它们。我正在从shell脚本调用mongo.js脚本,将值传递给该shell脚本,它们也可以不同。因此,我们不能硬编码这些值。那么在这种情况下,我能做些什么呢?把这些要求添加到问题中。我已经添加了,你有什么建议吗?