sql >> Databáze >  >> NoSQL >> MongoDB

Jak provádět mongo příkazy prostřednictvím skriptů shellu? (moje nefunguje)

Vytvořte svůj my_script.js soubor s tímto jedním příkazem:

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

Umístěte soubor skriptu do aktuálního adresáře.


1. Spusťte skript JS z příkazového řádku OS:

Z příkazového řádku OS proveďte toto:

> mongo localhost/testDB my_script.js

Jakmile je výše uvedený příkaz spuštěn, uvidíte výstup následovně (podobný, v závislosti na vaší verzi MongoDB a OS (v tomto případě 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


Nyní z Mongo Shell (tj. proveďte mongo a poté z mongo výzva):

mongo > use testDB
mongo > show collections

Zobrazí se testColl uvedeny.

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

Toto je dokument vytvořený v testDB databáze a kolekce testColl podle příkazu v my_script.js .


2. Spusťte JS Script z Mongo Shell:

Můžete také spustit my_script.js z Mongo Shell .

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

Podívejte se, že existují dva dokumenty s různým _id hodnoty pole.

POZNÁMKA: Myslím, že z .js můžete spouštět pouze některé příkazy soubor.


3. Další příklad:

Vytvořte soubor JS s názvem script2.js s následujícím obsahem:

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

Všimněte si printjson metoda shell vytiskne dokument na výstup shellu.

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


Odkazy:


  1. Aktualizace Mongoose 'nemůže použít součást (..) k procházení prvkem

  2. Třídění dílčích dokumentů MongoDb Pipeline Aggregation

  3. Mongodb:Najděte dokumenty s polem, kde alespoň jeden prvek neodpovídá ObjectID

  4. MongoDB - Java | Jak spravovat připojení