This wouldn't fit all circumstances, though. What if I wanted to reconstitute this object in a Node.js application? The value of "_class" doesn't mean anything to me in that context.
If the problem is needing to know which subclass to instantiate for a given document, I'm not sure baking that information into the value document is the way to go for all cases. I'd hate to have to write a blog post that explains how my earlier blog post about the cross-platform nature of the library being an advantage is obsolete now and when you save a document using the Java language Mongo support, you need to load that document with the Java language Mongo support.
I implemented this feature in Riak using headers. I store the Java class name in a metadata header. Too bad MongoDB doesn't have the concept of metadata headers like Riak does, as that would be a perfect place for meta information about the document being stored.