Обновить все документы, добавив новые поля с разными значениями - PullRequest
0 голосов
/ 30 ноября 2018

Я использую пакет uuid в приложении Express, теперь мне нужно добавить эти идентификаторы ко всему моему документу.

Users.updateMany({},{$set:{newId:uuid()}},(err,success)=>{
      if(success) console.log(success);
});

Я пробовал таким образом, успех возвращается с разными значениями, но в базе данных он сохраняется с тем жезначение. Мне нужно добавить это поле newId в мои документы с разными идентификаторами, вот и все. Спасибо за внимание и за помощь !!

1 Ответ

0 голосов
/ 30 ноября 2018

Если вы знакомы с async / await, это должно работать

async function updateUuid() {
  try {
    const users = await Users.find({});
    for (const user of users) {
      const uuid = uuid();
      await User.findByIdAndUpdate(user._id, { $set: { newId: uuid } });
    }
  } catch (e) {
    console.error(e);
  }
}
...