Semeon
https://twitter.com/zavtracast/status/1287730708123877382
Vladimir
Доброго времени суток, первый раз этим занимаюсь, как мне подключится к монго которая на моем vps через compas или через расширение для vs code azure?
Wjatscheßlavvee
Насколько я помню, дополнительно у монги ничего не надо настраивать. Только порт 27017 надо открыть
Wjatscheßlavvee
Навскидку
sudo iptables -A OUTPUT -p tcp --source-port 27017 -m state --state ESTABLISHED -j ACCEPT
или
sudo ufw allow from your_other_server_ip/32 to any port 27017
Или дать доступ в принцпе всем входящим
sudo ufw allow 27017 (Но не рекомендуется для боевой базы)
Roman
Как сделать find по определенным словам в тексте?
Например у меня есть поле в доменте (длинная строка). И я хочу передать часть и получить полную строку по совпадению. Какой запрос сделать?
Roman
Regexp?
Roman
https://docs.mongodb.com/manual/reference/operator/query/regex/
Сергей
Добрый день. Пытаюсь установить gridFS командой scons, завершается ошибкой "operations.cpp:29:35: fatal error: mongo/client/connpool.h: No such file or directory"
no
Ребят, подскажите, кто пользуется mongoose
Oleksandr
Здравствуйте,
Хотел бы проконсультироваться, возможно кто-то подскажет.
Есть MongoDB 4.2.7, есть лог файл /var/log/mongodb/mongod.log размеров в 6 ГБ, еще с 2019 года. Хочу настроить ротацию логов, понял что нужно поменять конфиг /etc/mongod.conf чтобы там была следующая секция:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
И добавить конфиг файл в LogRotate (который собвственно и будет делать ротацию логов).
В чем проблема? Столкнулся с тем что нужно указать локацию PID файла. По идеи он должен находиться тут —»
# systemctl show mongod | grep pid
PIDFile=/var/run/mongodb/mongod.pid
Но по факту каталога /var/run/mongodb/ нету, соответственно и файла нету тоже.
Будет ли хорошим решением создать такой каталог, дать права пользователю mongodb, перезапустить службу, и MongoDB сам себе создаст PID?
Или как второй вариант, вроде бы нашел информацию что mongod.lock это и есть PID файл. Нашел у себя файл по пути /data/mongodb/mongod.lock
Некоторые советуют создать Симлинк. Или это не совсем правильное решение, и нужно сделать по другому?
Спасибо.
Oleksandr
Здравствуйте,
Хотел бы проконсультироваться, возможно кто-то подскажет.
Есть MongoDB 4.2.7, есть лог файл /var/log/mongodb/mongod.log размеров в 6 ГБ, еще с 2019 года. Хочу настроить ротацию логов, понял что нужно поменять конфиг /etc/mongod.conf чтобы там была следующая секция:
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: /var/log/mongodb/mongod.log
И добавить конфиг файл в LogRotate (который собвственно и будет делать ротацию логов).
В чем проблема? Столкнулся с тем что нужно указать локацию PID файла. По идеи он должен находиться тут —»
# systemctl show mongod | grep pid
PIDFile=/var/run/mongodb/mongod.pid
Но по факту каталога /var/run/mongodb/ нету, соответственно и файла нету тоже.
Будет ли хорошим решением создать такой каталог, дать права пользователю mongodb, перезапустить службу, и MongoDB сам себе создаст PID?
Или как второй вариант, вроде бы нашел информацию что mongod.lock это и есть PID файл. Нашел у себя файл по пути /data/mongodb/mongod.lock
Некоторые советуют создать Симлинк. Или это не совсем правильное решение, и нужно сделать по другому?
Спасибо.
UPD: Нашел ответ на свой вопрос.
Возник новый вопрос:
В документации https://docs.mongodb.com/manual/tutorial/rotate-log-files/#forcing-a-log-rotation-with-sigusr1 есть глава про "Forcing a Log Rotation with SIGUSR1".
Хотел бы спросить, безопасно ли эта команда "kill -SIGUSR1 <mongod process id>" ? В случае использования ReplicaSet`а - не вызовет ли она "падения" когда будет происходить ротация логов на Primary?
Андрей
Oleksandr
Denis
Есть микросервисы, каждый из них общается со своей бд в монге (/user, /company). Монгу планировал задеплоить через k8s оператор
Я уже на старте знаю что в коллекциях в базе /company будут миллионы доков с кучей индексов (требуется много оперативы под индексы), а например в коллекциях в базе /user доков совсем чуть-чуть
Есть ли смысл в данном кейсе поднять 2 монги отдельных, чтобы была возможность гибко добавлять secondary реплики только тому кому они нужны, а не накидывать на все-все базы (в случае если я поднимаю 1 монгу) ?
Anonymous
Привет! подскажите, плиз, как из одного большого словаря словарей отправлять данные в Монго по одному документу?
Bro
Denis
Denis
Просто еще соображение такое базы разделять, например у меня сначала по нагрузке хватит реплика сета из одной штуки, там индексов на 10 гб к примеру
Если я упрусь в чтения, мне чтобы заскейлить придётся взять еще 2 сервака по 10 гб озу минимум
Вместо накидывания реплик только в тех базах где реально надо
BITRU
Привет 👋. Вопрос от новичка в noSql не судите строго. как Можно в документе создавать array в которой array. и так что бы если последнюю добавляешь верхнии создавались. Тут по теме о таком спрашивать?
Nick
Denis
BITRU
BITRU
BITRU
BITRU
BITRU
соответственно код не верный. хочу получать в activity array. а он пуст
Nick
Есть микросервисы, каждый из них общается со своей бд в монге (/user, /company). Монгу планировал задеплоить через k8s оператор
Я уже на старте знаю что в коллекциях в базе /company будут миллионы доков с кучей индексов (требуется много оперативы под индексы), а например в коллекциях в базе /user доков совсем чуть-чуть
Есть ли смысл в данном кейсе поднять 2 монги отдельных, чтобы была возможность гибко добавлять secondary реплики только тому кому они нужны, а не накидывать на все-все базы (в случае если я поднимаю 1 монгу) ?
на вид вполне нормальное решение, особенно если уже есть понимание что будет перекос по потребностям и одну реплику придется расширять. Но нужно будет оценить следующий момент, если обе базы буду в одном инстансе монге в одном репликасете, то добавление реплики = перезапуск с даунтаймом, т.е. если у тебя микросервисы, тогда у тебя начинает один сервис аффектить другой, что по идее не должно происходить. Тут получается необходимо будет разнести сами базы по разным сервакам, под юзеров выдать чтонить простенькое с минимумом ресурсов
Denis
Всем спасибо большое 👍
Nick
вы хотите добавить запись в массив activity в объекте массива user, где username равен тому который вы укажите?
BITRU
да! я хочу дать 3 параметра activityType (если нет создать) далее user (если нет username создать) а далее push msidn
BITRU
Возможно такое одним запросом. или нужно как то извращаться?
Nick
Nick
с опцией upsert
Telemak (Сергей)
Всем привет, не подскажете что почитать что б сделать подобное:
документ: {created_at: date, value: int32} пытаюсь написать агрегацию что б сгруппировать данные по дням, посчитав количество значений в границах value (типа во вторник было 5 значений от 1 до 5, 6 значений от 6 до 10)
Смотрел в сторону бакетов, но чет не могу понять как в моем случае их заюзать
Roman
https://docs.mongodb.com/manual/reference/operator/aggregation/switch/
Судя по описанию, вот это подойдет
Telemak (Сергей)
{
_id: {'year': { '$year': "$created_at" },
'month': { '$month': "$created_at" },
'day': { '$dayOfMonth': "$created_at" },
},
grouped: {
$push: '$$ROOT'
},
count_gte:{$sum: {$cond: { if: { $gte: [ "$value", 5 ] }, then: 1, else: 0 }}}
count_lt:{$sum: {$cond: { if: { $lt: [ "$value", 5 ] }, then: 1, else: 0 }}}
}
Что-то на подобие такого получилось
Ilyas
Всем привет. Можете подсказать. У меня есть коллекция из миллион документов.
К примеру, это файлы. Там есть 3 поля: имя файла, тип файла (image, video, pdf) и url.
Я делаю find по по типу файла (используется пагинация). Нужно ли мне ставить индекс для этого поля? Значение поля: тип файла, всегда будет только одно из трех (image, video, pdf)
Anatoly
Ilyas
Bro
сompoind index c _id нельзя сделать?
Bro
You may not create compound indexes that have hashed index type. You will receive an error if you attempt to create a compound index that includes a hashed index field.
Bro
ахтыж
Taras
Taras
Как прописать dbPath на маке? Из за этого уже неделю не могу проект начать делать
Taras
В доке читал не понял
Daniil
Daniil
или создать директорию /data/db
Daniil
или прописать в конфиге другую (уже существующую) директорию
Taras
Не знаю где конфигурационный файл знаходится
Daniil
https://docs.mongodb.com/manual/tutorial/install-mongodb-on-os-x/#procedure
Taras
Taras
Это значит что запустилось?
Андрей
Запустилось. Юлимиты бы поднять, а то 256 даже для разработки, наверное, маловато будет
Taras
Спасибо, а как ее подрубить к моей базе данных на сайте которую создавал?
Roman
Так а вы что хотите? У вас две базы, одна локально создана, вторая в атласе
Taras
Мне нужно ту что в атласе использовать
Taras
Наверное нужно было сразу сказать
Taras
Я просто хотел написать фуллстек приложение и фронт в порядке а бек не могу из за монго сделать, все видео что смотрел они как то писали команду монгод и у них выходило у меня ошибка падала всегда
Roman
Так у вас база уже в атласе создана. Вам надо только к ней приконнектиться
Roman
То есть, просто драйвер использовать и передать в него правильный connection string
Taras
Агаа, ну ладно буду смотреть читать спасибо за помощь
Roman
Как сохранить в базу зип архив?
Андрей
GridFS
Сергей
Добрый день, можете посоветовать нормальную инструкцию по установке gridfs на centos 7
Сергей
?
Andrew
Подскажите, пожалуйста, в mongodb есть возможность из коробки сделать ид, как в sql бд? (числовое значение, которые автоматически увеличивается с каждой записью)?
Roman
https://docs.mongodb.com/v3.0/tutorial/create-an-auto-incrementing-field/
Nick
Andrew
Nick
Andrew
Ну, в моем случае они нужны только для этого
Andrew
Стоит ли заморачиваться
Nick
Время покажет))
Nick
Но и стандартный id в себе содержит временную метку, поэтому порядок по id также будет соответствовать вашим потребностям
Andrew
Благодарю
Дмитрий
Доброе утро коллеги.
Подскажите, пишу автокомплит поле, и мне нужно что бы при вводе в то поле какие то данные, отправлялся запрос с текстом и происходила фильтрация по полю емейл.
Но например у меня в базе лежит емейл nikolaymaksimov@gmail.com
А если я передам например kolay То у меня нашлась бы запись nikolaymaksimov@gmail.com
Stan