MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie führe ich Mongo-Befehle über Shell-Skripte aus? (meiner geht nicht)

Erstellen Sie Ihre my_script.js Datei mit diesem einen Befehl:

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

Platzieren Sie die Skriptdatei in Ihrem aktuellen Verzeichnis.


1. Führen Sie das JS-Skript über die OS-Befehlszeile aus:

Führen Sie dies an der Eingabeaufforderung des Betriebssystems aus:

> mongo localhost/testDB my_script.js

Sobald der obige Befehl ausgeführt wurde, sehen Sie die Ausgabe wie folgt (ähnlich, abhängig von Ihrer MongoDB-Version und dem Betriebssystem (in diesem Fall Windows)):

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


Nun, von der Mongo Shell (d.h. mach mongo , und dann vom mongo Eingabeaufforderung):

mongo > use testDB
mongo > show collections

Sie sehen den testColl aufgeführt.

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

Dies ist das in der testDB erstellte Dokument Datenbank und die Sammlung testColl gemäß dem Befehl in my_script.js .


2. Führen Sie JS-Skript von Mongo Shell aus:

Außerdem können Sie my_script.js ausführen aus der Mongo Shell .

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

Sehen Sie, es gibt zwei Dokumente mit unterschiedlicher _id Feldwerte.

HINWEIS: Ich denke, Sie können nur einige Befehle aus der .js ausführen Datei.


3. Ein weiteres Beispiel:

Erstellen Sie eine JS-Datei namens script2.js mit folgendem Inhalt:

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

Beachten Sie den printjson Shell-Methode gibt ein Dokument in die Shell-Ausgabe aus.

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


Referenzen: