Lisez l'opérateur positionnel . Dans ce cas, vous n'avez pas besoin de masse, juste UpdateMany.
collection.UpdateMany(
Builders<RootDocument>.Filter.Eq("Documents.Id", document.Id),
Builders<RootDocument>.Update.Set("Documents.$", document));
Cela passera par la collection et fera correspondre tout RootDocument qui a un ChildDocument avec l'ID spécifié et le remplacera ensuite par le document fourni.