Il y a différences entre mongo
interactif et scripté sessions shell
. En particulier, des commandes comme use admin
ne sont pas du JavaScript valide et ne fonctionneront que dans une session shell interactive.
L'équivalent fonctionnel de votre ligne de commande d'arrêt serait :
mongo 192.168.10.20:27000/admin --eval "db.shutdownServer()"
Vous pouvez inclure la base de données à utiliser dans la chaîne de connexion, et il n'est pas nécessaire de quitter un script mongo
session shell.
Si vous avez besoin de changer de base de données à partir d'une session scriptée, il existe un db.getSiblingDB()
Fonction JavaScript. Une autre façon d'écrire la commande d'arrêt ci-dessus serait :
mongo 192.168.10.20:27000 --eval "db=db.getSiblingDB('admin');db.shutdownServer()"