Czy istnieje sposób, aby powiedzieć Mongo, aby ładnie drukowała? Obecnie wszystko jest wyprowadzane do jednej linii i jest trudne do odczytania, szczególnie w przypadku zagnieżdżonych tablic i dokumentów.
Czy istnieje sposób, aby powiedzieć Mongo, aby ładnie drukowała? Obecnie wszystko jest wyprowadzane do jednej linii i jest trudne do odczytania, szczególnie w przypadku zagnieżdżonych tablic i dokumentów.
Odpowiedzi:
( uwaga: jest to odpowiedź na oryginalną wersję pytania, która nie zawierała wymagań dla „domyślnej” )
Możesz poprosić o ładność.
db.collection.find().pretty()
Możesz dodać
DBQuery.prototype._prettyShell = true
do pliku, $HOME/.mongorc.js
aby domyślnie włączyć globalne drukowanie całkiem ładnie.
$HOME/.mongorc.js
: gist.github.com/mathrawka/6239405 Następnie możesz zrobić coś takiego jak db.users.find (). Ugly (), aby uzyskać to bez ładnego wydruku.
mongo --checkConf 'pretty'
nie dzwonieniedb.collection.find().limit(1)
(uwaga: jest to odpowiedź na zaktualizowane pytanie)
Możesz to zrobić na CLI:
echo DBQuery.prototype._prettyShell = true >> ~/.mongorc.js
I zawsze przyniesie ładne wyniki.
Ponieważ jest to w zasadzie powłoka javascript, możesz także użyć toArray()
:
db.collection.find().toArray()
Spowoduje to jednak wydrukowanie wszystkich dokumentów z kolekcji, w przeciwieństwie pretty()
do iteracji. Patrz: http://docs.mongodb.org/manual/reference/method/cursor.toArray/
.toArray()
funkcja wypisuje lepiej sformatowany JSON niż .pretty()
funkcja. tj .: Pierwszy rekord z mojej kolekcji różni się od reszty (co może być problemem), ale .pretty()
zrzuca go jako { "_id" : "VERSION", "v" : "1.5" }
- wszystko w jednym wierszu, gdzie .toArray()
sformatowane jest ładnie jak reszta rekordów.
Spróbuj hakera Mongo (moduł węzła), zawsze drukuje się ładnie. https://github.com/TylerBrock/mongo-hacker
Więcej poprawia powłokę mongo (obsługuje tylko wersję> 2.4, obecna wersja to 3.0), jak
Używam od czasu env produkcji, żadnych problemów jeszcze.
$HOME/.mongorc.js
.
Dotarłem do pytania, ale nie mogłem wymyślić, jak go wydrukować z mongo załadowanego zewnętrznie. Więc:
Działa to w przypadku konsoli: i jest preferowane w konsoli, ale nie działa w zewnętrznym javascript ładowanym przez mongo:
db.quizes.find().pretty()
Działa to w zewnętrznym javscript załadowanym w mongo:
db.quizes.find().forEach(printjson)
Spójrz na to:
db.collection.find().pretty()