When you use mongoexport
to export documents in MongoDB, you have the option of “prettifying” them.
By this I mean, instead of the document being presented on one long line, it instead includes line breaks, indents, etc to make it easier to read.
To do this in mongoexport
, use the --pretty
parameter.
Example
Suppose we have a collection called posts
with the following documents:
{ "_id" : 1, "title" : "Web", "body" : "blah 1", "tags" : [ "html", "css", "sql", "xml" ] } { "_id" : 2, "title" : "Animals", "body" : "blah blah 2", "tags" : [ "cats", "dogs" ] } { "_id" : 3, "title" : "Oceans", "body" : "blah blah blah 3", "author" : { "name" : "Bart Pitt", "Email" : "[email protected]" } }
We can use the mongoexport
utility to export that collection to a JSON file.
Without Prettify
First, here’s an example that does not use the --pretty
parameter:
mongoexport --db=krankykranes --collection=posts --out=posts.json
That code does not use the --pretty
parameter, and therefore the resulting JSON file looks like this:
{"_id":1.0,"title":"Web","body":"blah 1","tags":["html","css","sql","xml"]} {"_id":2.0,"title":"Animals","body":"blah blah 2","tags":["cats","dogs"]} {"_id":3.0,"title":"Oceans","body":"blah blah blah 3","author":{"name":"Bart Pitt","Email":"[email protected]"}}
With Prettify
First, here’s an example that does use the --pretty
parameter:
mongoexport --db=krankykranes --collection=posts --pretty --out=posts.json
That code uses the --pretty
parameter, and therefore the resulting JSON file looks like this:
{ "_id": 1.0, "title": "Web", "body": "blah 1", "tags": [ "html", "css", "sql", "xml" ] } { "_id": 2.0, "title": "Animals", "body": "blah blah 2", "tags": [ "cats", "dogs" ] } { "_id": 3.0, "title": "Oceans", "body": "blah blah blah 3", "author": { "name": "Bart Pitt", "Email": "[email protected]" } }
Now it’s much easier to make out each field/value pair, especially the arrays and embedded documents.