Нет никакой разницы в callback
, async await
или даже в .then
функций мангуста
Обратный вызов
User.update({ _id: usr._id }, upsertData, { upsert: true }, function(err, num) {
console.log(err)
console.log(num)
}
Async Await
try {
const num = await User.update({ _id: usr._id }, upsertData, { upsert: true })
console.log(num)
} catch (err) {
console.log(err)
}
Таким образом, в основном обе вышеуказанные функции будут регистрировать одно и то же
Теперь вам нужно проверить, обновлен ли возвращенный документ или добавлен с помощью findOneAndUpdate
(findByIdAndUpdate)
const num = await User.findOneAndUpdate({ _id: id }, upsertData, { upsert: true })
console.log(num)
Таким образом, здесь num
напечатает документ, если он уже существует , или null , если он был вставлен.