Läs positionsoperatören . I det här fallet behöver du inte bulk, bara UpdateMany.
collection.UpdateMany(
Builders<RootDocument>.Filter.Eq("Documents.Id", document.Id),
Builders<RootDocument>.Update.Set("Documents.$", document));
Detta kommer att gå igenom samlingen och matcha alla RootDocument som har ett ChildDocument med det angivna ID:t och ersätta det sedan med det medföljande dokumentet.