@Alex_mos

Как добавить данные в существующий документ коллекции mongodb?

Есть React приложение, отправляющее запросы на сервер Node, express (mongoose) а тот в свою очередь записывает данные в mongodb.

На главной странице есть Select из которого получается информация и при нажатии на кнопку данные отправляются на сервер сохраняются в БД и происходит переход на вторую страницу.
На второй странице так же два Select из которых собирается информация и так же должна сохраняться к коллекцию, в тот документ который был создан с первого Select, но создаётся новый документ с данными.

Как можно отвести один документ на одного пользователя, что бы на каждого пользователя был свой документ в коллекции mongodb.
Посоветуйте где можно найти информацию про это и почитать.
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
@Alex_mos Автор вопроса
В общем нашел решение возможно оно и не совсем правильное)))
Может кто подскажет стоит так делать.

В React при заходе на сайт, пользователю даётся номер(который генерируется из Date.now()) который сохраняется в sessionStorage. При первом отправлении данных на сервер этот id тоже отправляется на сервер и в БД.

На сервере его значение экспортируется на вторую страницу, куда приходят данные с второго Select.

В бд ищем документ в mongodb по id (который был в sessionStorage и импортирован на вторую страницу) и записываем в него данные. В итоге получается все данные записать в тот документ который был создан при первой отправке данных в бд.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Robur
@Robur
Знаю больше чем это необходимо
так же должна сохраняться к коллекцию, в тот документ который был создан с первого Select, но создаётся новый документ с данными.


Очевидно что вы вместо обновления существующего создаете новый. Чтобы это изменить, надо перестать создавать новый, а вместо этого обновлять существующий. Тут вам upsert подойдет.

Как можно отвести один документ на одного пользователя, что бы на каждого пользователя был свой документ в коллекции mongodb.


в каждый документ сохраняйте какой-нибудь id пользователя, потом каждый раз ищете, есть ли уже документ для нужного id, если есть, обновляете, если нет - создаете новый.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
15 авг. 2020, в 05:42
50000 руб./за проект
15 авг. 2020, в 05:23
5000 руб./за проект
15 авг. 2020, в 04:49
5000 руб./за проект