Existe uma maneira de dizer ao Mongo para imprimir bastante? Atualmente, tudo é produzido em uma única linha e é difícil de ler, especialmente com matrizes e documentos aninhados.
Existe uma maneira de dizer ao Mongo para imprimir bastante? Atualmente, tudo é produzido em uma única linha e é difícil de ler, especialmente com matrizes e documentos aninhados.
Respostas:
( nota: esta é a resposta à versão original da pergunta, que não tinha requisitos para "padrão" )
Você pode pedir que seja bonito.
db.collection.find().pretty()
Você pode adicionar
DBQuery.prototype._prettyShell = true
no seu arquivo $HOME/.mongorc.js
para permitir uma impressão bonita globalmente por padrão.
$HOME/.mongorc.js
: gist.github.com/mathrawka/6239405 Então, você pode fazer algo como db.users.find (). Ugly () para obtê-lo sem uma boa impressão.
mongo --checkConf 'pretty'
, não ligando para odb.collection.find().limit(1)
(nota: esta é a resposta para a pergunta atualizada)
Você pode fazer isso na CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
E sempre vai gerar resultados bonitos.
Como é basicamente um shell javascript, você também pode usar toArray()
:
db.collection.find().toArray()
No entanto, isso imprimirá todos os documentos da coleção, ao contrário do pretty()
que permitirá a iteração. Consulte: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
.toArray()
função gera JSON melhor formatado que a .pretty()
função. ou seja: O primeiro registro de minha coleção é diferente do que o resto (que pode ser o problema), mas .pretty()
despeja-lo como { "_id" : "VERSION", "v" : "1.5" }
- tudo na mesma linha, onde .toArray()
formatado-lo agradável como o resto dos registros ..
Tente o Mongo-hacker (módulo do nó), ele sempre é bonito. https://github.com/TylerBrock/mongo-hacker
Além disso, aprimora o shell mongo (suporta apenas a versão> 2.4, a versão atual é 3.0), como
Estou usando por enquanto na produção, sem problemas ainda.
$HOME/.mongorc.js
.
Chegou à questão, mas não conseguiu descobrir como imprimi-lo a partir do mongo carregado externamente. Assim:
Isso funciona para o console: e é preferido no console, mas não funciona no javascript externo carregado por mongo:
db.quizes.find().pretty()
Isso funciona em javscript externo carregado por mongo:
db.quizes.find().forEach(printjson)
Veja isso:
db.collection.find().pretty()