AБB
Подскажите как делать match по значению, если, например оно null? Грубо говоря строка поиска есть и если она пустая, то нужно, чтобы match не срабатывал и выдавало полный список, а не искало с пустыми значениями. В sql обычно "variable_is_empty OR variable_is_not_empty = bd_field" как то так проверяется, что в строке поиска пусто
Eva🇺🇦
Mongoose. У меня в модели хранятся secrets, которые шифруются getter’ом. Апишка возвращает полностью модель, которая должна быть зашифрована, но, как я понимаю, getter работает только при обращении к конкретному филду модели: user.password // вернет расшифрованный вариан пароля Как сделать так, чтобы без точки можно было активировать геттер?
AБB
думаю это поможет понять https://www.mongodb.com/docs/manual/tutorial/query-for-null-fields/
Там нет null в значениях. Из БД выбирается список статусов и делается Select. Потом список записей выбирается (весь) и нужно добавить селект по статусу. Всё элементарно на данном этапе - ищем в поле id статуса. Но потом нам нужно искать без статуса, когда в селект ничего не выбрано. И вот тут уже проблема - как на уровне запроса через bool отключать проверку match
AБB
покажите текущий запрос
Производит корректный поиск, когда в <select></select> что-то выбрано $match: { field_id: {{ value_with_id_from_select }} } но когда <select></select> пуст (что корректно) передаётся null и соотвтественно ищутся филды с null. Хочу как-то проверять, что <select></select> value_with_id_from_select !== null и только тогд включать этот $match
Nick
ну так тобавьте if после селекта с проверкаой значения и относительно этого соберите матч как вам надо
fenogentov
Что такое NaN и Infinity значения? NaN догадываюсь, но определения или описания нигде не нашел
Elinka22
https://en.wikipedia.org/wiki/NaN#:~:text=In%20computing%2C%20NaN%20(%2Fn,especially%20in%20floating%2Dpoint%20arithmetic. https://ru.wikipedia.org/wiki/Infinity
fenogentov
это я знаю хотелось применительно к mongodb, а то иногда бывают нюансы
Leksey
день добрый! никто не встречал проблему с secondary? сейчас psa добавляем мембера с priority: 0, votes: 0 идет initial sync база около 600gb потом получаем следующие ошибки: failed to apply update... Fetching missing document... couldn't connect to server X:27017, connection attempt failed: SocketException: Error connecting to X:27017 network problem detected while connecting to the sync source, attempt 1 of 3 Assertion: Location15916: Can no longer connect to initial sync source: X:27017 src/mongo/db/repl/sync_tail.cpp 978 база дропает данные далее идет повтор initial sync версия 4.2.19 у всех мемберов уже третья попытка идет
Leksey
я понимаю, что все говорит о сети есть подключение к базе база не падает куда глядеть?
Elinka22
Я думаю, пора глядеть в сторону rsync
Elinka22
А так - вероятная проблема может быть в том, что та монга, с которой делается синк, слишком в топе по CPU, в результате чего она рвёт коннекшен. Посмотри нагрузку.
Leksey
Я думаю, пора глядеть в сторону rsync
начал приходить к тому же мнению
Leksey
А так - вероятная проблема может быть в том, что та монга, с которой делается синк, слишком в топе по CPU, в результате чего она рвёт коннекшен. Посмотри нагрузку.
нет на самом деле cpu ~10-15% на всей продолжительности initial sync /proc/sys/net/ipv4/ip_local_port_range - тюнили /proc/sys/net/ipv4/tcp_tw_reuse - тюнили (1 сейчас)
Leksey
i/o utilization (nvme) на момент реконнекта был около 5%
Leksey
disk utilization здесь в момент резкого спада как раз реконнект
Leksey
Leksey
я где-то читал (и не раз встречал), что лучше rsync юзать хз насколько правда
Elinka22
https://www.mongodb.com/docs/manual/core/replica-set-oplog/
Elinka22
Например: seo:PRIMARY> use local switched to db local seo:PRIMARY> rs.printReplicationInfo() configured oplog size:   6144MB log length start to end: 987secs (0.27hrs) oplog first event time:  Mon Jun 21 2021 14:45:50 GMT+0300 (MSK) oplog last event time:   Mon Jun 21 2021 15:02:17 GMT+0300 (MSK) now:                     Mon Jun 21 2021 15:02:17 GMT+0300 (MSK)
Elinka22
log length start to end: 987secs (0.27hrs) - его хватит на пол часа восстановления, потом он тухнет. То есть если у тебя реплика наливается час - то она будет неконсистентна
Elinka22
Тогда оплог норм )
Leksey
Тогда оплог норм )
а не с secondary его смотреть надо? с secondary он льет
Elinka22
Это логично
Leksey
а как понять в таком случае что его достаточно? на основании чего? вот у нас идет синк идет он больше 24 часов оплог должен быть больше/меньше чего?
Leksey
видимо чего-то не догоняю попробую доку посмотреть
pdvl
где можно создать базу типа mongodb://host:port
Евгений
У себя на компе.
Александр
где можно создать базу типа mongodb://host:port
Только не в атласе https://vc.ru/services/378352-rossiyskie-polzovateli-oblachnogo-servisa-mongodb-soobshchili-ob-otklyuchenii-akkauntov
Александр
Через PyPal ещё можно оплачивать?
я не оплачивал) не подскажу
Морозов
я не оплачивал) не подскажу
Мне пишут, что я должен 1.5$ заплатить до 1 мая. Вам пишет?
Морозов
Anonymous
Всем привет
Anonymous
Кто шарит за гит?
Anonymous
Я удалил репозиторий
Anonymous
А мне нужно скопировать код из putty в новый
Anonymous
На гите
Anonymous
Возможно?
SH
Всем привет, подскажите пожалуйста можно ли написать запрос чтобы mongo не различала е и ё
dnacd 🦜
Народ, помогите пожалуйста есть документ { "name": "1", ages: [ {"age":1, "adult": True}, {"age":1, "adult": False} ]} как мне провести агрегацию, что бы достать этот документ только с полем ages.adult : True ????
Astik
#вопрос Не подключается к mongodb но там уже есть данные, если переустановить mongodb база удалится ?
Aha
всем привет, у кого есть эта sample коллекция от mongoDB в json файле, скиньте в личку плз.
Astik
кто знает помогите с этим пожалуйста попробовал все возможное но увы не помогло
Nick
connection refused - означает что монги по данному адресу нет, либо нельзя достучаться до нее. В вашем случае наверняка первый вариант, т.к. локалхост. Так что проверяйте что сервис монги запущен и что адрес и порт ан котором она поднимается на текущей машине
Astik
как его включить?
Astik
помогите пожалуйста
Nick
как его включить?
тут разве что логи глянуть отправлю и конфиг файл
Astik
тут разве что логи глянуть отправлю и конфиг файл
мне отправить или вы сами отправите?
Nick
мне отправить или вы сами отправите?
имел ввиду что особо не помогу
Astik
я просто впервые с такой проблемой и не знаю что делать
Astik
имел ввиду что особо не помогу
так вы не сможете или не хотите ?
Anonymous
Assalam to everyone here
Alex
Доброе утро! Коллеги, подскажите, кто-нибудь реализовывал очередь доступа к документу средствами монги при работе нескольких нод?
Антон
Ребят, подскажите можно ли как-то ограничить "MongoDB" в потреблении ОЗУ? Проблема: "MongoDB" потребляет много оперативной памяти и не освобождает память после закрытия клиента (метод mongo_client.close()) Вопрос 1: Можно ли как-то ограничить потребление памяти "MongoDB" в процессе работы с ней: делаю множество операций mongo_collection.insert_one()? - Пробывал прописывать в конфиге "cacheSizeGB" и выставлять "maxIndexBuildMemoryUsageMegabytes" - не сработало. Вопрос 2: Как правильно закрыть соединение с "MongoDB", чтобы процесс "mongod" освободил память?
first_name
Подскажите, как можно получить кол-во документов, которые созданы за 24 часа?
Nick
Подскажите, как можно получить кол-во документов, которые созданы за 24 часа?
сделать выборку по диапазону дат обычным find и count() для получения количества
Nick
Ребят, подскажите можно ли как-то ограничить "MongoDB" в потреблении ОЗУ? Проблема: "MongoDB" потребляет много оперативной памяти и не освобождает память после закрытия клиента (метод mongo_client.close()) Вопрос 1: Можно ли как-то ограничить потребление памяти "MongoDB" в процессе работы с ней: делаю множество операций mongo_collection.insert_one()? - Пробывал прописывать в конфиге "cacheSizeGB" и выставлять "maxIndexBuildMemoryUsageMegabytes" - не сработало. Вопрос 2: Как правильно закрыть соединение с "MongoDB", чтобы процесс "mongod" освободил память?
По проблеме: само по себе клиентское соединение жрет как правило системные ресурсы и не является большим потребителем внутри самой монги, поэтому не туда воюете - это явно не причина ваших проблем. По первому вопросу: Вы можете ограничить только кеш WiredTiger движка, но монге помимо этого для работы необходима еще память на рабочий датасет данных над которыми выполняется запрос и для промедуточных вычислений - эта память после резервирования не освобождается, если получилось занять ее у ОС. Если у вас проблемы что не остается места для другого софта - то выносите монгу на отдельный сервер, базы не любят сожительства с другим софтом. ну или расширяйте оперативу, если это проблема. По второму вопросу: т.к. вы не реализовываете драйвер для нативной работы по протоколу, то используйте средства драйвера и как в нем корректно закрывать. В любом случае даже недозакрытые коннекты будут закрыты через таймаут на уровне ОС (таймаут не помню как настраивается но можно погуглить про опции TCP)
first_name
Astik
как его включить? Нужна помощь
Yaroslav
как его включить? Нужна помощь
смотреть логи и фиксить
Santi
Hello!
Santi
Santi
Do you know which is the dependencies path?
Santi
require(¿path?)
pdvl
this is a russian group
Антон
По проблеме: само по себе клиентское соединение жрет как правило системные ресурсы и не является большим потребителем внутри самой монги, поэтому не туда воюете - это явно не причина ваших проблем. По первому вопросу: Вы можете ограничить только кеш WiredTiger движка, но монге помимо этого для работы необходима еще память на рабочий датасет данных над которыми выполняется запрос и для промедуточных вычислений - эта память после резервирования не освобождается, если получилось занять ее у ОС. Если у вас проблемы что не остается места для другого софта - то выносите монгу на отдельный сервер, базы не любят сожительства с другим софтом. ну или расширяйте оперативу, если это проблема. По второму вопросу: т.к. вы не реализовываете драйвер для нативной работы по протоколу, то используйте средства драйвера и как в нем корректно закрывать. В любом случае даже недозакрытые коннекты будут закрыты через таймаут на уровне ОС (таймаут не помню как настраивается но можно погуглить про опции TCP)
Спасибо за ответ! Буду выделять ресурсы конкретно под "Mongo"