yopp
А праймари шард не стали расчищать от шарженных коллекций?
yopp
Оно бы уже четверть перелило!
Max
Оно бы уже четверть перелило!
да вы что! с тех пор как обсуждали - там бесконечный replica lag между 1 час — 5 часов. зависит от нагрузки. балансер выключен в принципе, иначе тма совсем грустно становилось я еще базу local вытащил на отдельный диск, оно тоже дало немного ресурсов, но в общем, про миграцию чанков, я сейчас даже не думаю.
Max
а про петух-driven - это да. плохо, что никто не спит, когда это происходит )) и даже то, что все сотрудники становятся богаче, совсем не радует. не так должно быть, ой, не так.
Max
все это дело хостится в амазоне, к слову, и их технари посоветовали переехать в документдб. было смешно :)
Viktor
Кстати, расскажу похожий кейс про петух-дд, который случился сегодня. Был репликасет на монге 3.4. На праймари скопировал 4 коллекции (примерно по 5гб каждая). По итогу секондари ушла в закат, а в праймари начала думать, что она секондари.
Viktor
Зато сразу нашлись ресурсы, чтобы обновиться :)
Max
а почему sec ушла в закат? и почему pri стала sec ?
Viktor
а почему sec ушла в закат? и почему pri стала sec ?
Без понятия, не было времени разбираться - прод стоял
Viktor
Но факт в том, что rs.status() показывал супердичь
Max
а выхлопа нигде не осталось?
Viktor
Логи уже с понедельника буду анализировать
Max
не ясна причина ухода секондари. может быть она не успела среплицироваться и отвалилась полностью и стала полный ресинк делать.. но почему тогда праймари стала секондари? арбитр есть у вас?
Viktor
Арбитр есть, не упал в этот момент
Viktor
Я потому и не понял прикола
Viktor
Но хватит работы на сегодня :)
Max
я бы занялся выяснением, почему такое случилось потому что звучит как классика - ну отвалился секондари, ну и что. это совсем не повод праймари становиться секондари. явно какаято проблема или в сети, или в доступности сервисов. выглядит, как будто primary и арбитр не смогли друг с другом общаться. праймари подумал, что он сам по себе, и ушел в себя. плохо дело.
yopp
шаббат
Viktor
Там стояла вроде 3.4.1
Bubble jungle ✙
Кто-то может подсказать как в питоне с pymongo сохранить файл?
Bubble jungle ✙
Файл принимается, но выдаёт ошибку что GridOutCursor не имеет метода save
Nick
что значит "сохранить файл"?
Bubble jungle ✙
Запись файла на диск
Nick
тогда причем тут монго?
Bubble jungle ✙
При том что я вытягиваю файл с монги?
Bubble jungle ✙
То что мне не даёт сохранить формат вытянутого файла
Nick
файл это просто байты, формат условен
Nick
короче скажите по порядку что делаете
Bubble jungle ✙
`a = db.find({"img_num": 1}) a.save('~/')` Я вытягиваю файл с параметром img_num который равняется 1, пытаюсь его сохранить, но у меня не получаеться т.к. файл не того типа данных. Вот выхлоп AttributeError: 'GridOutCursor' object has no attribute 'save'
Bubble jungle ✙
Я пытался его перевести в байты, но обратно же, из-за формата мне это не удаёться
Do Some
нужно пройтись по курсору и писать каждый документ в файл
Do Some
with open('/tmp/file.db') as file_db: for doc in db.find(): file_db.write(doc)
Do Some
что-то такое
Nick
извините но тут нужно пройти сначала главу в учебнике по работе с файлами в питоне, чтение запись там, кодировки для текстовых файлов и т.п. Потом желательно про классы почитать или что там в питоне, чтобы научиться выводить типы классов для логирования и понимания как что за объект с которым вы работает. Дальше уже начинаем читать доку по драйверу, какой метод какого типа что возвращает и как с ними работать дальше.
Nick
после этого вы хотя бы сможете сформулировать проблему, так чтобы ее все поняли, но думаю вы заодно ее и решите
Do Some
Спасибо
Ну вообще выше совет более фундаментальный и полезный =) Добавлю что есть чаты по питону там расскажут если что.
yopp
А на https://play.db-ai.co приехало автодополнение для вообще всех операторов :)
倫太郎
кайф
Yʉri 🇺🇦
только вкатился в монгу, использую mongoose такой вопрос. можно ли в искать в уже найденному документу сабдокумент? или нужно делать новый запрос где просто передать его id
Nick
Поддокумент это часть документа и вы всегда будете вытаскивать его, если используете простой поиск. Так что дальше уже на стороне приложения вытаскивайте нужный поддок
Nick
Нет, в монге документ это не делимая единица и возвращается целиком, ну или можно применить всякие projection чтобы оставить только нужные поля
Nick
Или воспользоваться aggregation framework чтобы уже разбить док на поддокументы и их тягать
Nick
Но не знаю как там монгус смогет в это или нет
yopp
Проекции и array filters
Nick
А arrayfilter разве на выборки както влияет?
yopp
С какой-то из версий стало возможно вроде массивы фильтровать
Serhii
в rollbar пол миллиона ошибок таких попало, кто знает с чем связанно и как фиксили, в монгус репе есть ищью на эту тему, но конкретного решения я не нашел
yopp
Это надеюсь не лямбды?
Serhii
Проверьте что все IP добавлены в файрволл в атласе
не совсем понял на счет лямбд, я вообще не знаю происхождение ошибки, зашел в ролбар, а там 3 дня назад, в одно время пол ляма ошибок
yopp
Проверьте что в атласе в журнале за это время
yopp
Возможно кластер обновлялся
yopp
Рекомендую с всегда начинать с журнала
yopp
Потом мониторинг
yopp
А потом уже копать дальше
Illia
Здравствуйте, подскажите можно как-то получить количество всех документов а после этого не делая еще одного запроса сделать limit и skip ? то есть одним запросом получить количество всех выбранных элементов и после чего сделать limit и skip
Nick
опиши задачу вцелом
Illia
опиши задачу вцелом
могу даже пример скинут но он на kotlin а вкратце делаю агрегацию, поиск по тексту, потом сортирую и скип и лимит, это все нужно отобразить на морде в таблице, куда нужно указать полное количество выбранных элементов, а не те которые будут отображены на текущей странице. То есть если сделать все то же самое без скип и лимит, будет общее количество элементов, но как после этого сделать скип и лимит, не делая еще одного запроса в бд я не могу понять
JASWGO
Всем привет. Хотим выбрать монго для проект агрегатора цен на различные товары.
JASWGO
Какие могут быть подвохи?
JASWGO
Эти цены будут отдаваться на сайты. И часто обновляться
JASWGO
Выбор стоит между MongoDB и PostgreSQL
yopp
Берите то, с чем опыта больше
yopp
Но на монге будет проще работать со слабоструктурированными данными. Но постгрес тоже в документы умеет через jsonb
Nikita
Выбор стоит между MongoDB и PostgreSQL
В постгресе если надо в жсоне обновлять отдельные поля с хитрой структурой, то не очень удобно выходит
Anonymous
Если я буду использовать атлас, то Mongo не надо ставить локально?
yopp
нет, не надо
Serhii
никогда не пользовался mongodbAtlas, дак вот решил задеплоить тестовую таблицу, но при подключении апи получает такую ошибку, с чем это может быть связанно?
yopp
надо добавлять публичные адреса
yopp
https://www.google.com/search?q=show+my+ip
yopp
оно покажет публичный адрес, его и добавить
Serhii