Es gibt Unterschiede zwischen interaktivem und geskriptetem mongo
Shell-Sitzungen
. Insbesondere Befehle wie use admin
sind kein gültiges JavaScript und funktionieren nur in einer interaktiven Shell-Sitzung.
Das funktionierende Äquivalent Ihrer Befehlszeile zum Herunterfahren wäre:
mongo 192.168.10.20:27000/admin --eval "db.shutdownServer()"
Sie können die zu verwendende Datenbank in die Verbindungszeichenfolge einschließen, und es besteht keine Notwendigkeit, einen Skript-mongo
zu beenden Shell-Sitzung.
Wenn Sie Datenbanken von einer Skriptsitzung aus ändern müssen, gibt es einen db.getSiblingDB()
JavaScript-Funktion. Eine alternative Möglichkeit, den obigen Shutdown-Befehl zu schreiben, wäre:
mongo 192.168.10.20:27000 --eval "db=db.getSiblingDB('admin');db.shutdownServer()"