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

Има ли начин да отпечатате "красиво" изхода на обвивката на MongoDB във файл?

Обвивката предоставя някои хубави, но скрити функции, защото е интерактивна среда.

Когато изпълнявате команди от javascript файл чрез mongo commands.js, няма да получите съвсем идентично поведение.

Има два начина да заобиколите това.

(1) фалшифицирайте обвивката и я накарайте да мисли, че сте в интерактивен режим

$ mongo dbname << EOF > output.json
db.collection.find().pretty()
EOF

или
(2) използвайте Javascript, за да преведете резултата от find() в JSON за печат

mongo dbname command.js > output.json

където command.js съдържа това (или негов еквивалент):

printjson( db.collection.find().toArray() )

Това доста ще отпечата масива от резултати, включително [ ] - ако не искате това можете да повторите през масива и printjson() всеки елемент.

Между другото, ако изпълнявате само един израз на Javascript, не е нужно да го поставяте във файл и вместо това можете да използвате:

$ mongo --quiet dbname --eval 'printjson(db.collection.find().toArray())' > output.json


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB 4.2 Управление и наблюдение без блокиране на доставчик

  2. задайте полето като празно за обект mongo с помощта на mongoose

  3. Как да използвате mongoimport за импортиране на csv

  4. MongoDB $или заявка

  5. Mongoose/node.js как да намирате, попълвате, правите неща, „освобождавате“ и актуализирате