我正在尝试从 bash 脚本运行此命令:
mongo 192.168.10.20:27000 --eval "use admin && db.shutdownServer() && quit()"
但我收到此错误:
[rs.initiate() && use admin && db.shutdownServer() && quit()] doesn't exist
我怎样才能在不使用js文件的情况下做到这一点?
有交互式和脚本之间的区别mongo外壳会话 http://docs.mongodb.org/manual/tutorial/write-scripts-for-the-mongo-shell/#differences-between-interactive-and-scripted-mongo。特别是像这样的命令use admin
不是有效的 JavaScript,只能在交互式 shell 会话中工作。
关闭命令行的等效工作是:
mongo 192.168.10.20:27000/admin --eval "db.shutdownServer()"
您可以在连接字符串中包含要使用的数据库,并且无需从脚本中退出mongo
外壳会话。
如果您确实需要从脚本会话更改数据库,可以使用db.getSiblingDB() http://docs.mongodb.org/manual/reference/method/db.getSiblingDB/JavaScript 函数。编写上面的关闭命令的另一种方法是:
mongo 192.168.10.20:27000 --eval "db=db.getSiblingDB('admin');db.shutdownServer()"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)