Для оптимизации, проиндексируй collection по experience полю.
Далее в запросе можешь фильтровать:
db.characters.update({ experience: { $gt: 0 } }, { $set: { experience: 0 } }, { multi: true });
Таким образом будут пролистываться только те документы, которые имеют какой либо опыт.
Для того чтобы убедиться в индексе, пропиши:
db.characters.find({ experience: { $gt: 0 } }).explain();
Должен указать какой индекс использовал, и сколько объектов пролистал (nscanned).
Далее попробуй так:
db.characters.find({ experience: { $gt: 0 } }).hint({ $natural: 1 }).explain();
Используя .hint({ $natural: 1 }) query проигнорирует какие либо индексы, и покажет данные запроса без индексации, разница должна быть на лицо.