Eva🇺🇦
Думала, есть оператор какой-то для этого
Viktar
Оператор один на все запросы. Они отличаются фильтром
Eva🇺🇦
То есть необязательное совпадение по филду. Если нашло в бд с ластНейм, то вернет. Если нет, то вернет только по одному совпадению
Viktar
🦋noteee
Почему я не могу установить значение с точкой? Например 7.5 ?
🦋noteee
Просто не дает поставить точку
Joe
🦋noteee
🦋noteee
какой это тип данных если не int32/64 ?
Joe
У тебя проблемы не с монгой, а с типами
Joe
Joe
Можешьdouble использовать
Joe
karrtopelka
Привет, подскажите пожалуйста, как апдейтить данные, но избегая полей которые не были переданы
приходит обьект, в котором ключи это поля документа а значения это обьект который имеет измененные данные. Так вот после апдейта, удаляются поля которые не были переданы.. использую сет и апсерт
есть документ
_id: ''
...
keynote: {
title: '',
image: {}
}
приходит обьект
{
....
keynote: {
title: 'new'
}
}
после апдейта, нет поля ``image``
Cloud
господа оч срочная ситуация, докер контейнер с монгой по кд перезагружается тк забито место на диске
нашел wt файл, который занимает больше всего места, не уверен, что если я его удалю - не удаляю всю базу
✨ Uni
Anonymous
Как я могу выбрать поля которые возращать после Model.save() ?
Anonymous
это возможно? project нету
Pan
В чате орудуют боты, они отписывают участникам :)
🦋noteee
Pan
✨ Uni
да это автоответчик
Pan
Pan
У меня просто 3 аккаунта в чате, на каждый пришло сообщение
✨ Uni
проорал с инвестирования в изнасилование
Андрей
Андрей
Андрей
пхах
Сароар🧑🏼🦱
Сароар🧑🏼🦱
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
Андрей
Могу посоветовать Заббикс. Там есть возможность настроить авторегистрацию новых хостов и метрики сразу поедут. Убрать хранение потерянных ресурсов и то, что у вас кануло в лету, отлетит из базы мониторинга.
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)
насколько это затормозит работу базы?
Oleg
Viktar
Андрей
А за метриками по ип ходите что ли?
Андрей
Не должно же быть проблем при подъезде по dns. Или я че-то упускаю из виду?
Viktar
yopp
yopp
yopp
Зачем вы меняете IP в dns?
Viktar
что бы приложение переключилось на новую реплику
Viktar
что бы не менять конфиги каждый раз
yopp
Так не нужно менять конфиги
yopp
У вас какая топлогия?
Viktar
а как приложения узнают, что появилась новая реплика и ей надо переключиться?
Viktar
yopp
А что значит «новая реплика» в этом контексте?
Viktar
А что значит «новая реплика» в этом контексте?
реплика 1 - содержит старые даные.(текущий прод). приходит новый апдейт, собирается реплика2 на основе реплики1 и на неё устанавлявается апдейт. тестируется и прочее. после этого меняется днс запись, но новую реплику
yopp
в данном контексте «реплика» это новый реплика сет или это одна нода?
Viktar
yopp
а новый апдейт это что?
yopp
понял. интересная концепция 🙂
yopp
хорошо когда данные immutable
Viktar
поэтому тайминг в днс при создании реплика сета ставится 30 сек. после переключения возвращается в 3600. плюс не критично, если приложения какое то время будет на старых данных
Viktar
конекшены скидываются. Это часть переключения
Viktar
Плюс это наш локальный днс сервер.
yopp
Это только частично корректное утверждение, для случаев когда у вас нет контроля над DNS и вам критически важно быстро обновлять записи.
В закрытых окружениях есть контроль над резолвером и его можно (и нужно) настроить чтоб он соблюдал TTL записей. А использование dns в репликах это рекомендуемый вид деплоя. Более того, в монге сейчас есть поддержка SRV seed list https://docs.mongodb.com/upcoming/reference/connection-string/#dns-seed-list-connection-format
Что требует со стороны клиентов иметь возможность переодически резолвить записи из URI
Viktar
да ладно, стандартная схема блю-грин деплоймента