web
всем привет! у меня авторизация к ней пытаюсь добавить получение продуктов из базы. ошибок никаких нет, но запрос к базе зависает. в чем может быть причина?
Ivan
а к базе подключаешься?
web
а к базе подключаешься?
да и в консоль получаю продукт, но подключение зависает
web
все получилось. оказывается просто забыл прописать res.send(products);
Ivan
все получилось. оказывается просто забыл прописать res.send(products);
тогда консоль лог должен был показывать продукт
web
тогда консоль лог должен был показывать продукт
Он показывал, но зависал, а теперь показывает и не зависает
Алексей
приветствую, коллеги! с монго столкнулся недавно, есть важный вопрос к специалистам: я для разработки и тестирования развернул реплику через brew (макос), версия самая свежая монги, написал кучку тестов для своего приложения, там выполняется и поиск и инсерты\апдейты, транзакции и т.п. Тесты выполняются около 21 секунды. И тут прочел в инете что можно легко для тестирования разворачивать монгу через run-rs , ну развернул, посмотрел, там версия 4.0.1 и внезапно тесты проходят за 7 секунд. все те же тесты, никаких изменений. Пеерепроверял несоклько раз - запускал реплику brew (локалхост все 17, 18 19 порты) 21-22 секунды, run-rs те же порты 7 -8 секунд. Вопрос -почему 4 версия монги быстрее 7? или в run-rs есть какие то фишки и надо копать его конфиги реплики? upd: работает медленнее 7 версия даже если там делать реплику из одной ноды локлхост:17
The dark fight
Hi guys im from Iraq and I love Russia 🇷🇺❤️🇮🇶
Nikita
Hi guys im from Iraq and I love Russia 🇷🇺❤️🇮🇶
оправдал ник без негатива ☔️
Ff
Ребята всем привет нужен человек который может связать телеграмм бота с mongo db оплата договорная
Abdurazzoq
Бэкенд есть?
Andrey
Смысле связать?
Видимо канатами, узлом.
The dark fight
I am from Kazakhstan , hi man
Hi i know this country it was belong to the Soviet Union
Max
Hi i know this country it was belong to the Soviet Union
Тогда кажется ты русский знаешь .)
The dark fight
But i love Russian
The dark fight
I translate from Google
Max
The dark fight
احبكم كلكم
The dark fight
Im trying to learn russian its difficult language
The dark fight
So hard to pronounce
Max
Yes it is )) like reverse in eangleash words
The dark fight
Yes it is )) like reverse in eangleash words
Yes its so hard and im watching russian videos so i can get the russian accent
Ilshat
приветствую, коллеги! с монго столкнулся недавно, есть важный вопрос к специалистам: я для разработки и тестирования развернул реплику через brew (макос), версия самая свежая монги, написал кучку тестов для своего приложения, там выполняется и поиск и инсерты\апдейты, транзакции и т.п. Тесты выполняются около 21 секунды. И тут прочел в инете что можно легко для тестирования разворачивать монгу через run-rs , ну развернул, посмотрел, там версия 4.0.1 и внезапно тесты проходят за 7 секунд. все те же тесты, никаких изменений. Пеерепроверял несоклько раз - запускал реплику brew (локалхост все 17, 18 19 порты) 21-22 секунды, run-rs те же порты 7 -8 секунд. Вопрос -почему 4 версия монги быстрее 7? или в run-rs есть какие то фишки и надо копать его конфиги реплики? upd: работает медленнее 7 версия даже если там делать реплику из одной ноды локлхост:17
Интересно, что там под капотом в тестах и как коннект к монгодб организован: через mongo/mongosh или через драйвер nodejs. Версия 4.0.1 поддерживает mongo и не поддерживает mongosh, а начиная с шестой версии поддержка только mongosh, но не mongo. Mongo быстрее, чем mongosh и в mongosh это не исправят в ближайшее время
Алексей
Интересно, что там под капотом в тестах и как коннект к монгодб организован: через mongo/mongosh или через драйвер nodejs. Версия 4.0.1 поддерживает mongo и не поддерживает mongosh, а начиная с шестой версии поддержка только mongosh, но не mongo. Mongo быстрее, чем mongosh и в mongosh это не исправят в ближайшее время
cпасибо, что отозвался, это тесты веб-приложения а не монги естественно, обычные круд операции, в том числе есть транзакции, используется гридФс. Подозреваю что работа через драйвер. Получается дело именно в особенности версии а не каких то магических настройках?
Kvhqm
Скажите плиз, а можно через .populate взять данные из разных полей, которые ссылаются на разные схемы данных? const data = await Model({_id:id}).populate('type1 type2')
Kvhqm
Или нужно делать разные запросы?
Kvhqm
Я нашел в чём ошибка... Ссылка на схему может быть разная, что перечислено в enum, но через .populate данные не вытягиваются...
Black
Как на нативном драйвере mongodb nodejs писать хуки,аналогичные монгусовским?Да,есть watch и event emitter,но можно тогда какой-то пример.И что делать с такими операциями как aggregation и crud множества документов(find,updateMany,deleteMany,insertMany)?
Black
Никак, в монгусе эти хуки реализованы поверх
Я пробую mongoose хуки заменить на свои хуки-как это вот сделать?В самом mongoose это же как-то сделано!Вот я и пытаюсь понять как сделаны mongoose хуки под капотом и сделать уже свои
Алексей
приветствую, коллеги! с монго столкнулся недавно, есть важный вопрос к специалистам: я для разработки и тестирования развернул реплику через brew (макос), версия самая свежая монги, написал кучку тестов для своего приложения, там выполняется и поиск и инсерты\апдейты, транзакции и т.п. Тесты выполняются около 21 секунды. И тут прочел в инете что можно легко для тестирования разворачивать монгу через run-rs , ну развернул, посмотрел, там версия 4.0.1 и внезапно тесты проходят за 7 секунд. все те же тесты, никаких изменений. Пеерепроверял несоклько раз - запускал реплику brew (локалхост все 17, 18 19 порты) 21-22 секунды, run-rs те же порты 7 -8 секунд. Вопрос -почему 4 версия монги быстрее 7? или в run-rs есть какие то фишки и надо копать его конфиги реплики? upd: работает медленнее 7 версия даже если там делать реплику из одной ноды локлхост:17
просто дополню - на винде 10 с версией монги 7 скорость уже выше, по сути как и на run-rs из примера. Так что склоняюсь что это какие то специфические настройки 7 версии для макос.
Alexander
Всем привет! Используем MongoDB с php-fpm, актуальный mongodb драйвер из PECL. Столкнулись с проблемой тормозящего MongoDB\Driver\Manager::selectServer(). Есть два вопроса, может быть кто-то уже решал: 1. В данном случае в php-fpm проверки топологии через драйвер (SDAM) проиходят в одном потоке с запросом (особенности драйвера), возможно есть какие-то альтернативные решения, чтобы распараллелить процесс? 2. Сама процедура проверки SDAM может тормозить по каким-то причинам, что посоветуете для отладки и локализации проблемы?
Mllse
Всем привет. Кто нибудь запускал монго дб через докер композ? Образ bitnami/mongodb:latest mongodb: image: 'bitnami/mongodb:latest' environment: - MONGODB_ROOT_PASSWORD=password123 - MONGODB_DATABASE=my_database ports: - '${MONGO_PORT:-27017}:27017' volumes: - 'mongodb_data:/bitnami/mongodb' По url: mongodb://root:password123@localhost:5432 могу заходить, а когда указываю с DB: mongodb://root:password123@localhost:5432/my_database Пишет сразу: Authentication failed. Что я не так делаю?
Алексей
это не ответ, просто интересуюсь -почему порт от потгре указан, и как вы заходите если в конфиге выше 27017? нет ли в вашем компознике еще и постгре на порту 5432?
Mllse
это не ответ, просто интересуюсь -почему порт от потгре указан, и как вы заходите если в конфиге выше 27017? нет ли в вашем компознике еще и постгре на порту 5432?
Я разобрался в чем дело. У нас в компании установлен стандартный порт 5432 для MongoDB. Моя конфигурация Docker Compose предназначена для этой специфической настройки. Могу подтвердить, что для доступа к MongoDB используется порт 5432, и это не влияет на нашу работу с PostgreSQL, так как она использует другой порт
Алексей
ок, просто вон выше не 5432 в конфиге
Громов Сергей
это не ответ, просто интересуюсь -почему порт от потгре указан, и как вы заходите если в конфиге выше 27017? нет ли в вашем компознике еще и постгре на порту 5432?
в конфиге 27017 - порт будет вроде.. но это не точно, но вроде бы да.. ${MONGO_PORT:-27017}:27017 UPD: ошибся, будет 5432 - если переменная MONGO_PORT определена
Mllse
ок, просто вон выше не 5432 в конфиге
там в CI CD уже стоит env для 5432
Сергей
Доброго утра. Есть го приложение, и монга репликасет. И приложение почему-то не хочет подключаться к монге, если она секондари, хочет только примари. в логах монги постоянные попытки Connection accepted Connection ended и больше ничего. mongo.0.jm16ur7v4qcj@server | {"t":{"$date":"2023-09-25T09:39:23.778+03:00"},"s":"I", "c":"NETWORK", "id":22943, "ctx":"listener","msg":"Connection accepted","attr":{"remote":"10.0.2.4:43800","connectionId":5457253,"connectionCount":22}} mongo.0.jm16ur7v4qcj@server | {"t":{"$date":"2023-09-25T09:39:22.775+03:00"},"s":"I", "c":"NETWORK", "id":22944, "ctx":"conn5457252","msg":"Connection ended","attr":{"remote":"10.0.2.4:43788","connectionId":5457252,"connectionCount":21}} Подскажите, что за беда? Нужно ли обязательно при подключении приложения к монге говорить ей, что session.SetMode(mgo.Secondary, true)? Читал что в этом режиме данные берутся непосредственно со слейва, а не с примари, и могут быть старыми
Сергей
еще доп.инфа. ЭТо переезд приложения и на старом сервере все работает, в т.ч. и подключение к секондари, а на новом нет, хотя и монга и приложение тех же версий. Подключаюсь к монге через либу mgo
Алексей
а зачем подключаться к секондари как не для того чтобы брать даные с секондари? ну или даже писать туда же при желании...
Сергей
а зачем подключаться к секондари как не для того чтобы брать даные с секондари? ну или даже писать туда же при желании...
так вот же. но при этом даже в консоли при подключении к секондари ругается на любой запрос. Требует сделать rs.secondaryOk() В коде подключения есть такая фича, чтобы секондари сделать, но он до нее даже не доходит, обрубается еще на этапе подключения
Алексей
ну секондариОК или слейвОк тебе надо указать чтобы читать с секондари, а вот почему не подключается... на СО советуют прописать в /etc/mongorc.js или указать через евал в строке подключения
Dmitry
Подскажите, а есть у кого практический опыт restore отдельной коллекции из общего pbm backup'а на отдельную single node (replicaSet из одной машины)?
Ростислав ✚
Всем привет, есть у меня странный баг, конкретное поле не хочет записыватся в бд. Я использую mongodb без mongoose, схем никаких нет, поэтому в теории должно записывать всё что дают, но с объекта result не записывает поле "otEtPen", все другие в нем записывает, я проверил все 800к документов базе и этого поля нигде нет, даже пустого, при этом как видно на скринах прямо перед записью оно присутствует и не является пустым
Ростислав ✚
Александр
Ростислав ✚
Там на скрине с черным фоном видно что поле string, это с консоли
Александр
Александр
Ростислав ✚
Там 90% не должны его иметь, просто прикол в том что нет ни единого документа с этим полем
Ростислав ✚
Можно попробовать, но если сработает то это будет тупо)
Nick
ну так у вас в $set оно не указано в перечислении полей
Nick
не используйте голосовые
Ростислав ✚
ну так у вас в $set оно не указано в перечислении полей
Оно в result, там на скрине с черным фоном видно его, все остальные в result записывает
Александр
не используйте голосовые
Так вроде можно же
Nick
Ростислав ✚
не заметил что там вложенность
Тоесть проблема не в этом? Или попробовать явно указать без вложенности?
Nick
Тоесть проблема не в этом? Или попробовать явно указать без вложенности?
должно было перезаписать весь объект под резалтом. А тип _id поля совпадает с тем что в базе? И докучи лучше сразу проверьте что возвращается в результате выполнения пдпейта и будет ли там количество проапдейченных доков больше нуля
The dark fight
I love Russian 🇮🇶❤️🇷🇺
Ростислав ✚
должно было перезаписать весь объект под резалтом. А тип _id поля совпадает с тем что в базе? И докучи лучше сразу проверьте что возвращается в результате выполнения пдпейта и будет ли там количество проапдейченных доков больше нуля
Точно совпадает потому что перед записью ищет по другому параметру есть ли запись если нет создает новую если есть то берет _id и обновляет, сейчас гляну что дает в ответ
The dark fight
I want to have a russian friend
Nick
Точно совпадает потому что перед записью ищет по другому параметру есть ли запись если нет создает новую если есть то берет _id и обновляет, сейчас гляну что дает в ответ
важен тип, не очень понятно откуда приходит евент сам, но обычно стандартная ошибка это в базе ObejctId а в апдейте указывается стринговый ид, полученный из апи