Preserving whitespace in MongoDB values
A bit of testing shows that the data is being inserted correctly, but the shell is trimming the field when it displays it.  You can test this as follows:

mongos&gt; db.test.insert({"name":"    adam    "})
mongos&gt; db.test.find({"name":"    adam    "})
{ "_id" : ObjectId("50814e5c2a17d922cd25974f"), "name" : " adam " }
mongos&gt; db.test.find({"name":" adam "})
mongos&gt;


That is, the data is found when you query with multiple spaces but not found when you re-use what the shell displays. So this is just a display issue with the shell, the DB is behaving as it should behind the scenes.  Also tested this with a driver and it behaved correctly.  

Even though this means that the data is the way you want, it is still technically a bug, because it could be confusing.  So I filed a bug here:

https://jira.mongodb.org/browse/SERVER-7424

Finally, to make this print out correctly, try this (assuming the same data I used in my test):

mongos&gt; var fix = db.test.find({"name":"    adam    "}).next()
mongos&gt; printjsononeline(fix)
{  "_id" : ObjectId("50814e5c2a17d922cd25974f"),  "name" : "    adam    " }