MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Stampa dell'output della query Mongo su un file nella shell mongo

AFAIK, non esiste un'opzione interattiva per l'output su file, esiste una precedente domanda SO correlata a questo:stampa dell'output della shell mongodb su file

Tuttavia, puoi registrare tutta la sessione della shell se hai invocato la shell con il comando tee:

$ mongo | tee file.txt
MongoDB shell version: 2.4.2
connecting to: test
> printjson({this: 'is a test'})
{ "this" : "is a test" }
> printjson({this: 'is another test'})
{ "this" : "is another test" }
> exit
bye

Quindi otterrai un file con questo contenuto:

MongoDB shell version: 2.4.2
connecting to: test
> printjson({this: 'is a test'})
{ "this" : "is a test" }
> printjson({this: 'is another test'})
{ "this" : "is another test" }
> exit
bye

Per rimuovere tutti i comandi e mantenere solo l'output json, puoi utilizzare un comando simile a:

tail -n +3 file.txt | egrep -v "^>|^bye" > output.json

Quindi otterrai:

{ "this" : "is a test" }
{ "this" : "is another test" }