MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да изпълнявам mongo команди чрез шел скриптове? (моят не работи)

Създайте своя my_script.js файл с тази една команда:

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

Поставете файла със скрипта във вашата текуща директория.


1. Стартирайте JS скрипт от командния ред на ОС:

От подканата на ОС направете следното:

> mongo localhost/testDB my_script.js

След като командата по-горе бъде изпълнена, ще видите изхода, както следва (подобно, в зависимост от вашата версия на MongoDB и операционната система (в този случай 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


Сега от Mongo Shell (т.е. направете mongo , а след това от mongo подкана):

mongo > use testDB
mongo > show collections

Ще видите testColl в списъка.

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

Това е документът, създаден в testDB база данни и колекцията testColl според командата в my_script.js .


2. Стартирайте JS скрипт от Mongo Shell:

Освен това можете да стартирате my_script.js от рамките на Mongo Shell .

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

Вижте, че има два документа с различен _id стойности на полето.

ЗАБЕЛЕЖКА: Мисля, че можете да изпълнявате само някои команди от .js файл.


3. Друг пример:

Създайте JS файл с име script2.js със следното съдържание:

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

Обърнете внимание на printjson методът shell отпечатва документ в изхода на shell.

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


Референции:


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Как мога да получа максимална стойност във вложени документи?

  2. Не може да се свърже с MongoDB errno:61

  3. Кеширане на повтарящи се резултати от заявки в MongoDB

  4. System.FormatException" възникна в MongoDB.Bson.dll - XXX не е валиден 24-цифрен шестнадесетичен низ

  5. pymongo - Дължината на съобщението е по-голяма от максималния размер на съобщението на сървъра