The actual details in the posts are fascinating, I’ve never heard about this Diaspora project. But to be perfectly honest, the problems that they run into has nothing to do with MongoDB or its features. They have a lot to do with a fundamental lack of understanding on how to model using a document database.
What I do know is that having a single document that large is something that I want to avoid. And yes, this is a somewhat relational model. That is because what you are looking at is a list of independent aggregates that have different reasons to change.
My knowledge of database models is too lacking to comment on who’s right. Perhaps there’s no ‘right’ way, like many things are in this field. All I can see is that with the separate-document method Ayende suggests, you can get the best of both worlds, even though it might seem like trying to make a NoSQL database relational.
But clearly I should read more.