When you change embedded document and only him, sometimes, he can't be save.
After search on mongoid code, I think the problem, appear because embeds document are not in dirty system. So if you change an embedded, your document can know he change so no change made in database, by '$set'.
I start change that with in first, a lot of integration spec about dirty with embeddeds document. I create a branch on my repo for that : http://github.com/shingara/mongoid/tree/dirty-embedded
But I think need, review to know if spec are really like we want or not.
Please you can review this commit for that :