MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Imprimindo a saída da consulta do Mongo em um arquivo enquanto estiver no shell do Mongo


AFAIK, não há uma opção interativa para saída para arquivo, há uma pergunta SO anterior relacionada a isso:Imprimindo a saída do shell mongodb para o arquivo

No entanto, você pode registrar toda a sessão do shell se invocou o shell com o 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

Em seguida, você obterá um arquivo com este conteúdo:
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

Para remover todos os comandos e manter apenas a saída json, você pode usar um comando semelhante a:
tail -n +3 file.txt | egrep -v "^>|^bye" > output.json

Então você terá:
{ "this" : "is a test" }
{ "this" : "is another test" }