Der er forskelle mellem interaktive og scriptede mongo
shell-sessioner
. Især kommandoer som use admin
er ikke gyldige JavaScript og vil kun fungere i en interaktiv shell-session.
Den fungerende ækvivalent til din nedlukningskommandolinje ville være:
mongo 192.168.10.20:27000/admin --eval "db.shutdownServer()"
Du kan inkludere databasen til brug i forbindelsesstrengen, og der er ingen grund til at afslutte fra en scriptet mongo
shell session.
Hvis du har brug for at ændre databaser fra en script-session, er der en >db.getSiblingDB()
JavaScript funktion. En alternativ måde at skrive nedlukningskommandoen ovenfor ville være:
mongo 192.168.10.20:27000 --eval "db=db.getSiblingDB('admin');db.shutdownServer()"