MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Jak wykonywać polecenia mongo za pomocą skryptów powłoki? (moja nie działa)

Utwórz swój my_script.js plik za pomocą tego jednego polecenia:

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

Umieść plik skryptu w bieżącym katalogu.


1. Uruchom skrypt JS z wiersza poleceń systemu operacyjnego:

Z wiersza poleceń systemu operacyjnego wykonaj to:

> mongo localhost/testDB my_script.js

Po uruchomieniu powyższego polecenia zobaczysz dane wyjściowe w następujący sposób (podobne, w zależności od wersji MongoDB i systemu operacyjnego (w tym przypadku 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


Teraz z powłoki Mongo (tzn. wykonaj mongo , a następnie z mongo monit):

mongo > use testDB
mongo > show collections

Zobaczysz testColl wymienione.

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

To jest dokument utworzony w testDB bazy danych i kolekcji testColl zgodnie z poleceniem w my_script.js .


2. Uruchom skrypt JS z Mongo Shell:

Możesz także uruchomić my_script.js z poziomu Mongo Shell .

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

Zobacz, że istnieją dwa dokumenty z różnymi _id wartości pól.

UWAGA: Myślę, że możesz uruchomić tylko niektóre polecenia z .js plik.


3. Inny przykład:

Utwórz plik JS o nazwie script2.js o następującej treści:

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

Zwróć uwagę na printjson metoda powłoki drukuje dokument na wyjściu powłoki.

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


Referencje:


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Django + Mongo + Docker pobiera pymongo.errors.ServerSelectionTimeoutError

  2. arrayFilters w mongodb

  3. jaki jest mechanizm wykonywania przecięcia w zapytaniu Mongo Linq

  4. Jak używać django razem z mongoengine?

  5. Sterownik MongoDB-Java:Złap wyjątek, gdy wstawienie nie powiedzie się