MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Comment exécuter des commandes mongo via des scripts shell ? (le mien ne fonctionne pas)

Créez votre my_script.js fichier avec cette seule commande :

db.testColl.insertOne( { a: "hello" } )

Placez le fichier de script dans votre répertoire actuel.


1. Exécutez le script JS à partir de la ligne de commande du système d'exploitation :

À partir de l'invite du système d'exploitation, procédez comme suit :

> mongo localhost/testDB my_script.js

Une fois la commande ci-dessus exécutée, vous verrez la sortie comme suit (similaire, selon votre version de MongoDB et le système d'exploitation (Windows, dans ce cas)) :

MongoDB shell version v4.2.3
connecting to: mongodb://localhost:27017/testdb?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("456b350f-668f-4389-9901-7c456e2c50fe") }
MongoDB server version: 4.2.3


Maintenant, à partir du shell Mongo (c'est-à-dire, faites mongo , puis du mongo invite):

mongo > use testDB
mongo > show collections

Vous verrez le testColl répertorié.

mongo > db.testColl.find()
{ "_id" : ObjectId("5e4ea0d05816162b300b0346"), "a" : "hello" }

Ceci est le document créé dans le testDB base de données et la collection testColl selon la commande dans le my_script.js .


2. Exécutez le script JS à partir de Mongo Shell :

Vous pouvez également exécuter le my_script.js depuis le Mongo Shell .

mongo > load("my_script.js")
true
mongo > db.test.find()
{ "_id" : ObjectId("5e4ea0d05816162b300b0346"), "a" : "hello" }
{ "_id" : ObjectId("5e4ea10f276cde8fc5fedec5"), "a" : "hello" }

Voir il y a deux documents avec différents _id valeurs de champ.

REMARQUE : Je pense que vous ne pouvez exécuter que certaines commandes à partir du .js fichier.


3. Un autre exemple :

Créez un fichier JS nommé script2.js avec le contenu suivant :

db.test.find().forEach(printjson)

Notez le printjson La méthode shell imprime un document dans la sortie du shell.

mongo > load("script2.js")
{ "_id" : ObjectId("5e4ea0d05816162b300b0346"), "a" : "hello" }
{ "_id" : ObjectId("5e4ea10f276cde8fc5fedec5"), "a" : "hello" }


Références :