sql >> Database >  >> NoSQL >> MongoDB

Hoe mongo-commando's uit te voeren via shellscripts? (de mijne doet het niet)

Maak uw my_script.js bestand met dit ene commando:

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

Plaats het scriptbestand in uw huidige map.


1. Voer JS-script uit vanaf de opdrachtregel van het besturingssysteem:

Doe dit vanaf de OS-prompt:

> mongo localhost/testDB my_script.js

Nadat de bovenstaande opdracht is uitgevoerd, ziet u de uitvoer als volgt (vergelijkbaar, afhankelijk van uw MongoDB-versie en het besturingssysteem (in dit geval 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


Nu, van de Mongo Shell (d.w.z. doe mongo , en dan van de mongo prompt):

mongo > use testDB
mongo > show collections

U ziet de testColl vermeld.

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

Dit is het document gemaakt in de testDB database en de verzameling testColl volgens de opdracht in de my_script.js .


2. Voer JS-script uit vanuit Mongo Shell:

U kunt ook de my_script.js . uitvoeren vanuit de Mongo Shell .

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

Zie dat er twee documenten zijn met verschillende _id veldwaarden.

OPMERKING: Ik denk dat je maar enkele commando's van de .js . kunt uitvoeren bestand.


3. Een ander voorbeeld:

Maak een JS-bestand met de naam script2.js met de volgende inhoud:

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

Let op de printjson shell-methode drukt een document af naar de shell-uitvoer.

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


Referenties:


  1. Stop Mongodb met het negeren van speciale tekens?

  2. Is het OK om een ​​MongoDB meerdere keren per verzoek op te vragen?

  3. Meerdere documenten in mangoest tegelijk bijwerken

  4. Mongodb voegt een nieuw veld toe in een bestaand document, met een specifieke positie