Eva🇺🇦
Думала, есть оператор какой-то для этого
Viktar
Оператор один на все запросы. Они отличаются фильтром
Eva🇺🇦
То есть необязательное совпадение по филду. Если нашло в бд с ластНейм, то вернет. Если нет, то вернет только по одному совпадению
Joe
Думала, есть оператор какой-то для этого
Нет, можешь через js обычный рулить .findOne({ fName, ...(lName && { lName }) })
Viktar
То есть необязательное совпадение по филду. Если нашло в бд с ластНейм, то вернет. Если нет, то вернет только по одному совпадению
Не. Вы в приложении составляете фильтр в зависимости от количества параметров. И вставляете этот фильтр в ваш запрос
🦋noteee
Почему я не могу установить значение с точкой? Например 7.5 ?
🦋noteee
Просто не дает поставить точку
Joe
Почему я не могу установить значение с точкой? Например 7.5 ?
Ты шутишь??? Смотри в правую часть скрина
🦋noteee
Ты шутишь??? Смотри в правую часть скрина
Я пробовал и int32 и 64, не дает никак
🦋noteee
какой это тип данных если не int32/64 ?
Joe
У тебя проблемы не с монгой, а с типами
Joe
какой это тип данных если не int32/64 ?
Любой, но не инт) Инт - цело!
Joe
Можешьdouble использовать
🦋noteee
Любой, но не инт) Инт - цело!
Какие в монге есть числовой тип позволяющий оставлять остаток
🦋noteee
Можешьdouble использовать
А какое там максимальное значение?
Joe
А какое там максимальное значение?
Ты шутишь? Что, гугл отрубили?) Глянь. Это не монгочспецифик, а база информатики
karrtopelka
Привет, подскажите пожалуйста, как апдейтить данные, но избегая полей которые не были переданы приходит обьект, в котором ключи это поля документа а значения это обьект который имеет измененные данные. Так вот после апдейта, удаляются поля которые не были переданы.. использую сет и апсерт есть документ _id: '' ... keynote: { title: '', image: {} } приходит обьект { .... keynote: { title: 'new' } } после апдейта, нет поля ``image``
Cloud
господа оч срочная ситуация, докер контейнер с монгой по кд перезагружается тк забито место на диске нашел wt файл, который занимает больше всего места, не уверен, что если я его удалю - не удаляю всю базу
Anonymous
Как я могу выбрать поля которые возращать после Model.save() ?
Anonymous
это возможно? project нету
Pan
В чате орудуют боты, они отписывают участникам :)
Pan
0 реакции)0
✨ Uni
да это автоответчик
Pan
У меня просто 3 аккаунта в чате, на каждый пришло сообщение
✨ Uni
проорал с инвестирования в изнасилование
Андрей
0 реакции)0
мне тоже писала
Андрей
Андрей
пхах
Сароар🧑🏼‍🦱
Сароар🧑🏼‍🦱
Anatole
кто знает как в контейнере кубернетес прописать пути к логам в аргумантах args metadata: name: mongo-test labels: app: mongo-test spec: containers: - image: mongo:4.2.7 command: - mongod args: - --replSet=rs0 - --port=27017 - --bind_ip=0.0.0.0
Viktar
Добрый день господа, подскажите какие тулы вы используете для мониторинга состояния реплик у нас был кейс, кейс одна нода сгорела. и мы узнали об этом с запозданием... хелс чек который был у нас на базу показывал что реплика сет живой. в принципе он был прав, но произошла деградация перформанса, а это уже плохо
Viktar
Примерно так. У нас нет системы мониторинга. Только в самом приложении. Теперь настало время сделать
Андрей
Если хочется комплексно, то разворачивать заббикс/нагиос/прометеус и учиться использовать и настраивать метрики. Если хочется быстро покрыть какие-то отдельные кусочки метрик, то есть неплохой питон плагин для нагиос, который по сути как и любой плагин для нагиос может работать самостоятельно и сплёвывать метрики в stdout линуксового шела. Обрабатываете вывод на баше и отправляете через апи в телегу например.
Viktar
С нагиосом столкнулся с такой проблемой. У нас деплой происходит переключением реплик. Рядом создаётся новая, и в приложении переключается. Нагиос сходит с ума. Когда одинаковые метрики приходят из разных мест. Плюс когда старая реплика уничтожается, то он тоже алертит
Viktar
Надо постоянно реконфигурить
Viktar
Это не очень удобно
Андрей
В таком сумасшествии я не подскажу). Не понимаю профита от такого использования кроме геморроя для ДБАшника. У меня все кластеры живут как есть от начала создания и до полной смерти. Только дров в топку докидываю, когда разрабы навешивают новые нагрузки.
Андрей
Мониторится на данный момент у меня всё и нагиосом и заббиксом. Покрыто всё, что нужно, вплоть до фильтрации по запросам.
Андрей
Могу посоветовать Заббикс. Там есть возможность настроить авторегистрацию новых хостов и метрики сразу поедут. Убрать хранение потерянных ресурсов и то, что у вас кануло в лету, отлетит из базы мониторинга.
Viktar
Благодарю.
Сароар🧑🏼‍🦱
27 mongoURL: mongo://addame:password@127.0.0.1:27018/addame_api_dev?authSource=addame_api_dev Swift/ErrorType.swift:200: Fatal error: Error raised at top level: The given MongoDB connection URI is invalid
Сароар🧑🏼‍🦱
вот так в terminal работает
Сароар🧑🏼‍🦱
`mongo 127.0.0.1:27018 -u addame -p password --authenticationDatabase addame_api_dev`
Olga Tomakhina 💛
привет! Скажите, пожалуйста, если включить логгирование db.setProfilingLevel(2) насколько это затормозит работу базы?
Viktar
у нагиоса очень довольно гибко ставится maintenance (scheduled downtime) для хоста или сервиса. через "nagios.cmd" из оболочки, или через формирование http-запроса.
У нас нет даун тайма. Мы в днс меняем ИП для реплики и приложение его подхватывает. Т.е существование двух реплик одновременно
Андрей
А за метриками по ип ходите что ли?
Андрей
Не должно же быть проблем при подъезде по dns. Или я че-то упускаю из виду?
Viktar
Не должно же быть проблем при подъезде по dns. Или я че-то упускаю из виду?
Что реплик несколько, агенты с них шлют метрики. Одинаковые.
Viktar
Эээ. А зачем?
не совсем понял вопрос
yopp
Зачем вы меняете IP в dns?
Viktar
что бы приложение переключилось на новую реплику
Viktar
что бы не менять конфиги каждый раз
yopp
Так не нужно менять конфиги
yopp
У вас какая топлогия?
Viktar
а как приложения узнают, что появилась новая реплика и ей надо переключиться?
yopp
А что значит «новая реплика» в этом контексте?
Viktar
А что значит «новая реплика» в этом контексте?
реплика 1 - содержит старые даные.(текущий прод). приходит новый апдейт, собирается реплика2 на основе реплики1 и на неё устанавлявается апдейт. тестируется и прочее. после этого меняется днс запись, но новую реплику
yopp
в данном контексте «реплика» это новый реплика сет или это одна нода?
yopp
а новый апдейт это что?
Viktar
а новый апдейт это что?
это в основном изменение 45-60% данных + добавление новых (10-15%)
yopp
понял. интересная концепция 🙂
yopp
хорошо когда данные immutable
Viktar
поэтому тайминг в днс при создании реплика сета ставится 30 сек. после переключения возвращается в 3600. плюс не критично, если приложения какое то время будет на старых данных
Viktar
хорошо когда данные immutable
угу, все что меняется мы в вынесли в отдельный реплика сет.
Viktar
конекшены скидываются. Это часть переключения
Viktar
Плюс это наш локальный днс сервер.
yopp
Это только частично корректное утверждение, для случаев когда у вас нет контроля над DNS и вам критически важно быстро обновлять записи. В закрытых окружениях есть контроль над резолвером и его можно (и нужно) настроить чтоб он соблюдал TTL записей. А использование dns в репликах это рекомендуемый вид деплоя. Более того, в монге сейчас есть поддержка SRV seed list https://docs.mongodb.com/upcoming/reference/connection-string/#dns-seed-list-connection-format Что требует со стороны клиентов иметь возможность переодически резолвить записи из URI
Viktar
да ладно, стандартная схема блю-грин деплоймента