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