так:
const { counter: updatedCounter } = await Model.findOneAndUpdate({ _id }, $inc: { 'counter': 1 }, { new: true });
в документации монги написано что findOneAndUpdate блокирует документ, пока не завершит выполнение.
я правильно понял, что это гарантирует, что при одновременных вызовах инкремента каунтера, я не получу два одинаковых updatedCounter?
const { counter: updatedCounter } А это нормально таким образом данные получать? В чём профит?
У монги atomic document updates. Это значит что если ты апдейтишь в документе два ключа, то не будет ситуации когда при чтении документа один ключ обновился, а второй ещё нет.
Обсуждают сегодня