Ответа не слышу, в гугле тоже искать оч долго пришлось, напишу тут, вдруг кому надо будет)
db.getCollection('collection').find({
nameToo: {$exists:1}
}).forEach(
function (elem) {
db.getCollection('collection').update(
{
_id: elem._id
},
{
$set: {
name: elem.nameToo
}
}
);
}
);
Сразу говорю, если у вас в базе 10000+ таких объектов, скрипт выполнится не быстро.
У меня он выдал непонятную ошибку, но сработал почти на всех объектах.
Пришлось через обычный
update
заменить
name
всем нужным объектам на рандомный, а затем в скрипте, который выше, делать выборку в
find
уже по этому
name
. Тогда всё отлично.