sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur kör man mongo-kommandon genom skalskript? (min funkar inte)

Skapa din my_script.js fil med detta kommando:

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

Placera skriptfilen i din nuvarande katalog.


1. Kör JS Script från OS Kommandorad:

Gör så här från OS-prompten:

> mongo localhost/testDB my_script.js

När kommandot ovan har körts kommer du att se utdata enligt följande (liknande, beroende på din MongoDB-version och operativsystemet (Windows, i det här fallet)):

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, från Mongo Shell (dvs. gör mongo , och sedan från mongo prompt):

mongo > use testDB
mongo > show collections

Du kommer att se testColl listade.

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

Detta är dokumentet som skapats i testDB databasen och samlingen testColl enligt kommandot i my_script.js .


2. Kör JS Script från Mongo Shell:

Du kan också köra my_script.js inifrån Mongo Shell .

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

Se att det finns två dokument med olika _id fältvärden.

OBS: Jag tror att du bara kan köra vissa kommandon från .js fil.


3. Ett annat exempel:

Skapa en JS-fil med namnet script2.js med följande innehåll:

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

Notera printjson skalmetoden skriver ut ett dokument till skalutmatningen.

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


Referenser:


  1. Mongoose skillnad mellan .save() och att använda update()

  2. mongorestore oupptäckt undantag:syntaxfel

  3. ioredis nyckel med matchande mönster

  4. MongoError:Felaktiga argument