что может пойти не так при большой нагрузке?
Я не уверен, что мне всегда будет возвращаться конкретно тот объект сообщения который я сохраняю, потому что я его по индексу возвращаю. Мне кажется если много сообщений будет сохранятся примерно в одинаковое время, то может быть такое, что мне вернет другое сообщение
кстати ошибку лучше не возвращать так как ты делаешь из-за соображений безопасности. Придумай кастомные ответы
Статус ошибки не возвращать?
Возвращать, но не из объекта err
У тебя монга?
+
гугли how to push in mongo array
Да у меня успешно пушиться монгусовскими методами await chat.messages.push(newMessage)
если пушится, то зачем save вызываешь?
Чтобы потом сохранить те изменения которые я внёс
так получается ты делаешь in memory модификацию, а ты сразу пуш в бд
https://stackoverflow.com/questions/33049707/push-items-into-mongo-array-via-mongoose
у меня сделано как в ответе
ну так ты почитай ответы и коменты к ответам
а, в моём случае получается как раз может произойти race condition
да
с этим я понял, спасибо а после сохранения получается если я возвращаю последний объект так как я это сделал на скрине, это ок или нет?
Если update невозможен, почему бы тебе не сделать Promise.all на два вызова, так ты гарантируешь, что EventLoop не перейдет на другой стейдж пока не завершит именно эти два вызова, только это работает на случай, если у тебя нет cluster
Update в смысле метод mongo?
Обсуждают сегодня