Я пользуюсь драйвером MongoDB .NET чуть больше месяца. Если бы я делал это с помощью драйвера .NET, я бы использовал метод Update для объекта коллекции. Сначала я создам запрос, который получит все интересующие меня документы и обновит поля, которые я хочу изменить. Обновление в Mongo влияет только на первый документ и для обновления всех документов, полученных в результате запроса, необходимо использовать флаг обновления «Multi». Пример кода следующий ...
var collection = db.GetCollection("Foo");
var query = Query.GTE("No", 1); // need to construct in such a way that it will give all 20K //docs.
var update = Update.Set("timestamp", datetime.UtcNow);
collection.Update(query, update, UpdateFlags.Multi);