Можно как-то обновить сразу несколько документов, причём нужному свое значение? То

есть одним запросом поменять, к примеру:
— у документа с id 5 переменные last_name и first_name на соответствующие id 5
— у документа с id 6 переменные last_name и first_name на соответствующие id 6
— у документа с id 7 переменные last_name и first_name на соответствующие id 7 и тд

11 ответов

24 просмотра

Нормальный ответ - нет, ненормальный - апдейт с агрегацией с $switch

Дима-Смирнов Автор вопроса
Nick
Нормальный ответ - нет, ненормальный - апдейт с аг...

А как по нормальному можно это реализовать? Если к примеру одновременно надо обновить 100 или даже 1000 юзеров?

структура у документов какая? тут не гадалки собрались ;)

Дима Смирнов
А как по нормальному можно это реализовать? Если к...

Ну взять и реализовать, никакой магии собрать пайп для агрегации нет

Можно. ChatGPT может облегчить. Но ваш запрос придется несколько пересказывать)

Дима Смирнов
А как по нормальному можно это реализовать? Если к...

Но лучше сделайте по апдейту на каждого юзера это и проще и быстрее

Дима-Смирнов Автор вопроса
Nick
Но лучше сделайте по апдейту на каждого юзера это ...

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

Дима Смирнов
Я думаю быстрее одним запросом обновлять чем тысяч...

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

Nick
Ну взять и реализовать, никакой магии собрать пайп...

вроде же обновлять много доков нельзя пайплайном? только спец метод апдейт_мани, но он под капотом подключение поднимает и держит отправляя всё равно постепенно + синхронно, разве что модуль асинка использовать, тогда можно через N коннектов N обновлений заслать, всё выполнится точно быстрее, но это возможно только с пулом подключения поднятым гораздо заранее, иначе спавнить много коннектов тоже займёт время и неизвестно, что получится быстрее при какой текущей нагрузке и стоимостях каждой операции в пачке

Alexandrr
вроде же обновлять много доков нельзя пайплайном? ...

да можно и много доков обновлять пайплайном, так же как и обычный агргеат с $merge по сути, только явно видно что там доки обновляются а не просто выборка

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

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

Это может быть все-таки не флудвейт? у меня ботфазер принимает изменения и отображает даже что они изменились, на видео видно что он прислал якобы уже измененное описание, н...
OVERLINK
13
всем привет помогите пожалуйста используя CDN (GCP) у игроков из вьетнама загружается конфиг (размер 999 bytes) загружается 5 и более минут н а других CDN сервисах такой пробл...
Andrew Krw.
1
Добрый день. Мне посоветовали обратиться к вам в чат за помощью. Ситуация описана на скрине. Как мне сказали, мне на бота навесили флудвейт. Есть ли возможность снять его ра...
OVERLINK
7
Просто по очереди выпиливаешь на ручной маппинг? По методу за раз
Andrii Kurdiumov
7
И? Все равно глазами проверять надо каждое поле
Andrii Kurdiumov
4
Ну есть у нас десяток компаний которым надо. Остальным то зачем?
Andrii Kurdiumov
4
Приветствую. А не подскажете какие ограничения есть на использования api метода setMyName ? Несколько раз сменил имя бота и получил бан на 2 месяца на смену имени.
Slick Slack
8
Всем привет! Взялся портировать модули на 18 версию, лезет _logger.log(log_level, 'no translation language detected, skipping translation %s', frame, stack_info=True) А чт...
Max Lit
3
что значит рваность? фргаментированость?? для лох эт нормальное состояние. там сжатие редкое явление
Mikhail Lomonosov
1
Привет, коллеги! Возникла задача ограничить максимальный размер вложений для определённых расширений, например, чтобы для изображений лимит был 10 МБ, а для видео — 100 МБ. Ог...
Andro
1
Карта сайта