yopp
@svatz у вас больше нет возможности отправлять сюда стикеры
Max
Max
по идее документ в любом случае вызывается полностью
Владимир Т
Владимир Т
Как называется?
Владимир Т
Anonymous
в документах есть два массива, как внутри агрегации оставить только те, у которых нет в массивах общих элементов? Пробую
$match: {
array1: { $nin: "$array2" }
}Не работает из-за "$nin needs an array"
yopp
Max
yopp
Anonymous
yopp
https://docs.mongodb.com/manual/reference/operator/aggregation/setIntersection/
И либо в $expr делать вычисления в $match, либо сделать вp $addFields шаге новый атрибут и дальше по $eq с пустым массивом $match
Anonymous
Vlad
День добрый, может кто знает, можно ли с помощью mongoose или вообще как либо реализовать удаления документа спустя время ?)
За любой совет буду признателен :)
Slava
yopp
http://openlife.cc/blogs/2019/july/toward-strict-consistency-distributed-databases
Nick
Все правильно поняли, мени лишь указывает флаг multi в true. В вашем слуе делайте отдельные апдейты на каждое изменение
Nick
Это примерно 1400 иопс, наверняка упираетемь в диск
Nick
Откуда делаете запросы? На чем писано приложение?
yopp
Почему 7 секунд является проблемой?
Nick
А в скллайт тоже из ноды вставляли?
yopp
И все же, почему это проблема?
yopp
Как часто вам надо обновлять миллионы строк?
yopp
В этом случае вам стоит ничего не делать, пока у вас не появится реальной проблемы
yopp
Сравнение совершено бессмысленное
yopp
У вас нет ситуации
yopp
Вы тратите своё время на несуществующую проблему
yopp
Транзакции это гарантии целостности данных, в формате «все или ничего». Они вам никак не помогут.
Пакетной обработки нет, есть пакетная передача, см. bulk. Но в вашем случае это предварительная оптимизация, которая только совершено необоснованно усложнит вам жизнь ради каких-то абстрактных циферок.
yopp
Нет
yopp
Если бы у вас была реальная проблема, вы бы ее иначе формулировали.
Сейчас вы сравниваете два абстрактных числа и не можете четко сказать почему второе число является проблемой в отрыве от первого.
yopp
И ещё раз: почему 116 часов это проблема
yopp
Вы себе голову забили не той проблемой
yopp
Вы фокусируетесь на абстрактных цифрах
yopp
Насколько регулярная?
yopp
У вас эти 600 млн прямо сейчас есть?
yopp
И?
yopp
Уже есть очевидный прогресс в описании условий, но все ещё нет понимания корня проблемы
yopp
Вы предлагаете решить абстрактную задачу оптимизации в вакууме.
yopp
Я пытаюсь из вас щипцами достаточно полное описание проблемы, но вы уперлись в эти часы
yopp
Вы не описали проблему. Абстрактное решение которое может вам помочь в ограниченном спектре условий я вам уже озвучил — bulk
yopp
если вы хотите больше помощи, то вам надо рассказать какие у вас данные, что с ними происходит и в какие SLA это должно укладываться. Сейчас абсолютно ничего не ясно, кроме того что у вас есть какой-то абстрактный бейзлайн из SQLite
yopp
Не решил
yopp
Это painkiller
yopp
Ваша проблема скорее всего связана с затратным алгоритмом импорта данных из внешнего источника
Nick
И что сейчас со временем?
Nick
А где располагается ваша монга?
Nick
В плане это на сколько далеко по сети к нему ходить
Nick
И второй вопрос а ноду вы параллелите или по дефолту в один поток лупите?
Serhii
Ребята, можно ли в robo3t установить query sort({ createdAt: -1 }) по дефолту?
Serhii
И что бы при нажатии на коллекцию не открывалась в новой табе, а делала релоад старая?
Nick
На одном ядре будет незначительное. Балк избавляет от накладных расходах на сеть, если сервак далеко, но это не ваш случай. А 10кратное ускорение означает что вы упираетесь в обработку запрос-ответов на одном ядре
Nick
Суть в том что нода асинхронно работает, в результате рюкогда используете одиночные запросы, то внутрях много времени тратится на создание и сопровождение задачи послать, дождать ответ обработать. И это на стороне ноды а не монги. В млучае балк вы собираете большой запрос и тут уже да может быть уже упираетесь в монгу, но без мониторинга это уже тчжело определить
Nick
Начните с мониторинга сети дисков и проца, намутите графики и там уже тестите
Nick
Как наберете инфы можно будет предметнее поговорить
Dima
Привет всем,
Dima
Работаю сейчас с монгоДБ
Столкнулся с такой проблемой в атласе
Dima
Dima
Кто-то знает, как снизить кол-во коннектов?
Dima
Скорее всего
Dima
Не знаю как закрыть все эти коннекты
Dima
Правильно ли использовать .close() при find()?
Yʉri 🇺🇦
Dima
Я только осваиваю монго, поэтому могу делать много ошибок. Не судите сторого)
Dima
Подскажите, пожалуйста, как бы закрыть все эти коннекты
Nick
А в чем проблема того что у вас много коенектов? Ошибки какието появляются?
Nick
И 100 коннектов это мало
Yʉri 🇺🇦
Nick
Вопрос про наличие ошибок все так же актуален
Dima
Ошибка только одна:
MongoNetworkError: failed to connect to server
Dima
Из-за этого лимита в 100 коннектов.
Dima
Не получается закрыть их, чтобы можно было подключится к атласу
Nick
Думаю вам нужно почитать доку к вашему драйверу и как там это настраивается, а так же найти рекомендации по его использованию
Dima
Создал новый кластер, по другому никак ((
Написал в поддержку, но ответ будет только завтра
Max
Привет! У меня "околомноговский" вопрос. Есть коллекция с документами у каждого из которых 3 из 15+ полей - тяжелые массивы, где-то так от 500Кб до 2-5 Мб. Как массивы они юзаются только в самом начале их создания, потом же - только изредка для чтения..
Вопрос: как их мозжно сжать на прикладном уровне - алгоритмом или ещё как-то. то есть кодить/декодить на стороне приложения. Как обычно это делают?
Если нельзя, то в какой сторедж их обычно выносят? Я думаю про AWS S3 + Cloudfront - что скажете?
Fess
Коллеги, всем привет!
Подскажите, как лучше решить такую ситуацию:
есть кластер (ReplicaSet из 3-х монг). В случае падения мастера, одна из реплик становится мастером. Как лучше реализовать проверку, чтобы, к примеру стоял балансировщик (haproxy), и всегда пробрасывал на мастер, а в случае фейла, проверял, кто сейчас стал мастером, и посылал запросы уже на него. Есть какое-либо встроенное решение, или придется юзать сторонние балансеры?
Anonymous
Привет! Могу получить доступ к digitalocean по ssh теперь только через VPN. Проверьте, пожалуйста, кто может, как обстоят дела у вас? Капец, если заблкировали 😐
ghett
Эй, на том берегу, помогите разобраться фронту, как лучше хранить дату
ghett
каждый массив хранит в себе набор данных, которым суждено быть свёрстанными в карточку.
на пути в скрипт я сшиваю массив данных с массивом имён классов в объект (через спрединг), далее скармливаю свитчеру получившийся объект и свитчер уже выбирает case по ключу, а не раньше у меня через i всё работало.