An application persists Guid field in Mongo and it ends up being stored as BinData:
\"_id\" : new BinData(3, \"WBAc3FDBDU+Zh/cBQFPc3Q==\")
The
The drawbacks are that mongodb is optimised to use BSON ObjectID's so it will be slightly less efficient to use strings as ObjectID's. Also if you want to use range based queries on string ObjectIDs then a lexicographic compare will be used which may give different results than you expect. Other than that you can use strings as ObjectIDs. See Optimizing ObjectIDs http://www.mongodb.org/display/DOCS/Optimizing+Object+IDs