170 похожих чатов

Всем привет, подскажите пожалуйста как вернуть объект который я сохраняю

в таблице?
Сейчас делаю так как на фото, но как я понимаю, это не выход, при большой нагрузке что-то может пойти не так

21 ответов

11 просмотров

что может пойти не так при большой нагрузке?

Bogdan-A Автор вопроса

Я не уверен, что мне всегда будет возвращаться конкретно тот объект сообщения который я сохраняю, потому что я его по индексу возвращаю. Мне кажется если много сообщений будет сохранятся примерно в одинаковое время, то может быть такое, что мне вернет другое сообщение

кстати ошибку лучше не возвращать так как ты делаешь из-за соображений безопасности. Придумай кастомные ответы

Bogdan-A Автор вопроса

Статус ошибки не возвращать?

Возвращать, но не из объекта err

У тебя монга?

Bogdan-A Автор вопроса

+

гугли how to push in mongo array

Bogdan-A Автор вопроса

Да у меня успешно пушиться монгусовскими методами await chat.messages.push(newMessage)

если пушится, то зачем save вызываешь?

Bogdan-A Автор вопроса

Чтобы потом сохранить те изменения которые я внёс

так получается ты делаешь in memory модификацию, а ты сразу пуш в бд

https://stackoverflow.com/questions/33049707/push-items-into-mongo-array-via-mongoose

Bogdan-A Автор вопроса
Bogdan-A Автор вопроса

у меня сделано как в ответе

ну так ты почитай ответы и коменты к ответам

Bogdan-A Автор вопроса

а, в моём случае получается как раз может произойти race condition

да

Bogdan-A Автор вопроса

с этим я понял, спасибо а после сохранения получается если я возвращаю последний объект так как я это сделал на скрине, это ок или нет?

Если update невозможен, почему бы тебе не сделать Promise.all на два вызова, так ты гарантируешь, что EventLoop не перейдет на другой стейдж пока не завершит именно эти два вызова, только это работает на случай, если у тебя нет cluster

Bogdan-A Автор вопроса

Update в смысле метод mongo?

Похожие вопросы

Обсуждают сегодня

А чем вам питонисты не угодили?😂
.
79
Есть какой-нибудь для Delphi/FPC T*Compression(Decompression)Stream на базе LZ4/Zstd/любой другой быстрый(и хорошо сжимающий) алгоритм А ещё лучше в pure pascal А ещё лучше од...
notme
48
Есть предложения, как подобное можно упростить?
Hemul GM
12
У меня вопросик назрел. Почему, создав класс без наследования и реализации деструктора Destroy, деструктор не вызывался при free. Потом указал наследование от tobject и overri...
Сергей Бычков
8
type TObj = object procedure Init; virtual; end; TObj1 = object(TObj) procedure Init; override; end; procedure TObj1.Init; begin inherited; end; procedur...
Alexander 👋
29
just use free version ?? pycharm has a free version
Fan / Ac
9
Такой вопросец - есть функция function MySuperDuperConcat(const a: array of AnsiString): AnsiString; Как мне в её теле сделать вот так? Result:=Concat(a); А не грустный вариан...
notme
15
Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
86
В си можно напрямую работает с памятью и процом?
Николай
7
Всем привет. Поделитесь, пожалуйста, опытом. Есть форма, на которой имеется dbgrid и кнопки: добавить, редактировать, удалить. Если нет записей в dbgrid, то кнопки редактирова...
Евгений
5
Карта сайта