What about this for updating individual embedded documents?

Hi, I just finished this. So I think the issue in question is old, basically Mongoose $sets subdocuments values using the position since the last load of the parent document, which might lead to write the wrong subdocument if an external change changed the array elements position.
My proposed solution (although it might not be complete yet) is to have the save method of EmbeddedDocument instances to use the collection update method to match the subdocument and $set values using the positional operator ($).

I'm new to Mongoose internals, so there might be some things that could have been taken in care in simpler, more robust ways. But I was able to write several tests, and keep the old ones pass.

Again, I'm not saying this is the ultimate, perfect solution, but I think it's definitely something that people with more experience in the project can take as a start point an polish.