Formatting mongo output
If you’re working with MongoDB’s mongo
command line tool and you often see yourself reading through this:
> db.contactInfos.find({"source":ObjectId("4e39da93058cfe28a039b546")})
{ "_id" : ObjectId("4e6e9a9f058cfe01dc1bcded"), "source" :ObjectId("4e39da93
058cfe28a039b546"), "sourceId" : "754731", "sourceUserName" : "loudej", "ful
lName" : "Louis DeJardin", "description" : "A software guy on the ASP.NET te
am and author of Spark", "avatarUrl" : "http://a2.twimg.com/profile_images/1
161371928/DSC01367_normal.jpg", "websiteUrl" : "http://louis.dejardin.org",
"location" : "Kenmore, WA", "friendCount" : 97, "followerCount" : 1428 }
{ "_id" : ObjectId("4e6e9a9f058cfe01dc1bcdf3"), "source" : ObjectId("4e39da9
3058cfe28a039b546"), "sourceId" : "16925866", "sourceUserName" : "sebastienr
os", "fullName" : "Sébastien Ros", "description" : "", "avatarUrl" : "http:/
/a1.twimg.com/profile_images/1074060902/f71ee9e786d8340a5eb08dd6154c2095_1__
normal.jpeg", "websiteUrl" : "http://about.me/sebastienros", "location" : "S
eattle", "friendCount" : 18, "followerCount" : 142 }
{ "_id" : ObjectId("4e6e9a9f058cfe01dc1bcdf4"), "source" : ObjectId("4e39da9
3058cfe28a039b546"), "sourceId" : "768197", "sourceUserName" : "haacked", "f
ullName" : "Phil Haack", "description" : "This bio is not true.", "avatarUrl
" : "http://a2.twimg.com/profile_images/1315393964/image_normal.jpg", "websi
teUrl" : "http://haacked.com/", "location" : "Bellevue", "friendCount" : 225
, "followerCount" : 15947 }
…then you may want to add toArray()
at the end of your line:
> db.contactInfos.find({"source":ObjectId("4e39da93058cfe28a039b546")}).toArray()
[
{
"_id" : ObjectId("4e6e9a9f058cfe01dc1bcded"),
"source" : ObjectId("4e39da93058cfe28a039b546"),
"sourceId" : "754731",
"sourceUserName" : "loudej",
"fullName" : "Louis DeJardin",
"description" : "A software guy on the ASP.NET team and author of Spark",
"avatarUrl" : "http://a2.twimg.com/profile_images/1161371928/DSC01367_normal.jpg",
"websiteUrl" : "http://louis.dejardin.org",
"location" : "Kenmore, WA",
"friendCount" : 97,
"followerCount" : 1428
},
{
"_id" : ObjectId("4e6e9a9f058cfe01dc1bcdf3"),
"source" : ObjectId("4e39da93058cfe28a039b546"),
"sourceId" : "16925866",
"sourceUserName" : "sebastienros",
"fullName" : "Sébastien Ros",
"description" : "",
"avatarUrl" : "http://a1.twimg.com/profile_images/1074060902/f71ee9e786d8340a5eb08dd6154c2095_1__normal.jpeg",
"websiteUrl" : "http://about.me/sebastienros",
"location" : "Seattle",
"friendCount" : 18,
"followerCount" : 142
},
{
"_id" : ObjectId("4e6e9a9f058cfe01dc1bcdf4"),
"source" : ObjectId("4e39da93058cfe28a039b546"),
"sourceId" : "768197",
"sourceUserName" : "haacked",
"fullName" : "Phil Haack",
"description" : "This bio is not true.",
"avatarUrl" : "http://a2.twimg.com/profile_images/1315393964/image_normal.jpg",
"websiteUrl" : "http://haacked.com/",
"location" : "Bellevue",
"friendCount" : 225,
"followerCount" : 15947
}
]
Much more readable, isn’t it? The only problem is that mongo
will, by default, return only the first 20 hits of a query (it will write “has more” at the bottom to indicate that, well, there’s more). The toArray()
method, however, will get everything and print it out. This could mean printing a lot of stuff, so you may want to stick a limit(20)
in between if you’re not sure:
> db.contactInfos.find({"source":ObjectId("4e39da93058cfe28a039b546")}).limit(20).toArray()