Co(n)stantine👨🔬
😳👍
yopp
yopp
Stable: 4.0.2 (Aug 29, 2018) Bugfix: 3.6.8 (Sep 19, 2018), Legacy: 3.4.17 (Sep 7, 2018)
MongoDB quick overview/production notes: https://www.percona.com/live/e17/sites/default/files/slides/Running%20MongoDB%20in%20Production%20-%20FileId%20-%20115299.pdf
4.0.2: https://docs.mongodb.com/manual/release-notes/4.0/#aug-29-2018
3.6.8: https://docs.mongodb.com/manual/release-notes/3.6/#sep-19-2018
3.4.17: https://docs.mongodb.com/manual/release-notes/3.4/#sep-7-2018
End of life: 3.2.21 (Sep 2018 / Sep 2018), 3.0.15 (May 2015 / Feb 2018)
yopp
Dmitry
🎉
yopp
вы внимательно прочитайте
Ivan
if the..? Я пока не знаю, пострадает или нет +)
Ivan
Vladislav
Здравствуйте. Стало интересно что из себя представляет mongodb. Может кто подкинуть хороший туториал?
SvPupok
документация на официальном сайте просто мегаподробна
Vladislav
Понял. Спасибо)
Екатерина
Как в монге написать мигрейшн, чтобы у всех ранее существующих юзеров ставилось дефолтное проперти? Сейчас оно undefined. И как ее потом запускать?
yopp
в монге нет схем и нет миграций
yopp
если вы хотите добавить поле с каким-то значением, в документы в которых этого поля нет, то используйте updateMany с условием по $exists. Если поле есть, но его значение null и undefined (он вроде deprecatated), то используйте $eq
Екатерина
github.com/balmasi/migrate-mongoose
Екатерина
yopp
это изобретение монгуса, оно никакого отношения к вашему оригниальному вопросу «как в монге написать мигрейшен» не имеет
yopp
в монге — никак
Екатерина
На сервере есть свойство isDeactivated. Недавно добавила. Так вот, нужно сделать миграцию чтобы у уже существующих юзеров установилось дефолтное проперти isDeactivated = false
yopp
yopp
вероятно в монгусе есть возможность сделать фоллбэк до дефлотного значения, но вам тут с монгусом маловероятно что помогут. у вас больше шансов в канале про js
Екатерина
Екатерина
️lefrotite
{box:{cats:{num:3},{dogs:{num:7},{...}}
users.update_one({'id':uid]},{'$unset':{'box.cats':''}})
{box:{}}
Почему так происходит? Надо удалить только один объект, очищается весь
Vova
users.update_one({_id:"id"},{$unset:{"box.cats":1}})
Vova
Должно сработать
Nick
Ivan
Привет!
Подскажите: скопировал файлы с реплики на иной сервер. Имя реплики в настройках одно, сервер в статусе Name:OTHER.
Я пытаюсь добавить сам сервер через rs.add и удалить остальные через rd.remove, на что он пишет "errmsg" : "replSetReconfig should only be run on PRIMARY, but my state is REMOVED; use the \"force\" argument to override". Пробовал как rs.add( { host: "stage-name:27017", priority: 10, votes: 1 } , {force : true} ), не удаётся.
направьте, пожалуйста
Ivan
Привет!
Подскажите: скопировал файлы с реплики на иной сервер. Имя реплики в настройках одно, сервер в статусе Name:OTHER.
Я пытаюсь добавить сам сервер через rs.add и удалить остальные через rd.remove, на что он пишет "errmsg" : "replSetReconfig should only be run on PRIMARY, but my state is REMOVED; use the \"force\" argument to override". Пробовал как rs.add( { host: "stage-name:27017", priority: 10, votes: 1 } , {force : true} ), не удаётся.
направьте, пожалуйста
убрал реплику из конфига, зашёл в монгу, дропнул local, вышел, проставил реплику, проинициализировал реплику с правильным хостнеймом и именем.
Вроде работает
Nick
я тут обнаружил что размер чанка нельзя установить применимо к отдельной коллеции, т.е. только на бд вцелом. это я такой странный или кто-то еще с таким сталкивался?
Max
Привет! Насколько перфоманс вьюшек проседает в сравнении с обычными коллекциями?
Max
Есть на фронте табличка с фильтрами и сортировкой в которой Поля с 4+ коллекций, хочу упростить себе жизнь через вьюшки
Yar
почему может не работать update всех документов в монгусе?
Yar
multi: true стоит
Nick
Yar
*всех документов
Nick
условие не совпадает, попробуйте сделать find с тем же условием и сравнить что возвращает монга с тем что вы ожидаете проапдейтить
AstraSerg
Ivan
AstraSerg
Нужно начинать с создания Примари
Max
народ, подскажите пожалуйста что-то почитать на тему создания вьюх в монге? хочу создать вьюху на основе агрегации трёх колекций - но пока не пойму как =(
инфы тоже не нашёл - видно гуглить разучился
Юрий
Добрый вечер.
Подскажите пожалуйста ещё, монга версии 3.6 не видит /etc/mongod.conf
Обновлялся с 2.6. ЧЯДНТ?
т.е. я даже порт по умолчанию сменить не могу. только с параметрами при запуске.
а так, что есть файл с конфигами, что его нет, ей всё равно. Запускается на дефолтных параметрах. Или она их откуда то с другого места тянет. Гугл как то помог слабо =\
mb
Проверь, наверняка в init-скрипте для mongod выставляется флаг -f|—config.
Ivan
AstraSerg
h1dw0w
Юрий
Юрий
неа
но мне таки удалось подсунуть конфиги.
монга их таки читала, но при запуске сразу же падала и запускалась с дефолтными настройками.
Помогло прописывание форка в конфиге.
ПОсле этого база стартовала, но была чистая. Нулевая.
А когда падала и перезапускалалсь, то она таки подтягивала старые коллекции.
Кажется проще не обновляться а снести и заного поставить)
AstraSerg
AstraSerg
Обновление нужно производить последовательно. Или дамп/рестор
Юрий
А вы с 2.6 сразу на 3.6 пытаетесь обновиться? Это не прокатит
да, последовательно.
2.6->3.0->3.2->3.4->3.6
на 3.6 нужно было править конфиги с удаленным доступом и тут и возникли сложности с ними.
Либо есть старые коллекции но конфиги дефолтные.
Либо конфиги мои, а база нулевая.
Хотя в конфигах поменял только порт и потом уже форк добавил.
С наскоку решить не получилось. Видимо надо внимательно читать доки)
AstraSerg
> а база нулевая.
Может, в неправильном месте базу ищет? в логах есть чё?
yopp
yopp
делаете дамп, ставите последнюю версию, восстанавливаете дамп, убеждаетесь что всё работает
yopp
если работает, старую инсталляцию можно выводить из эксплуатации
Constantin
Всем привет, подскажите какой-нибудь запрос, чтобы из коллекции получить документы, которые преближаются к лимиту в 16 мегабайт?
yopp
Constantin
Это плохо, у меня в проде возник один документ, который не может обновиться, потому что выскочил за 16 мегабайт, дополнительные логи не могу не остановив прод поставить
yopp
монга помоему это в свой лог пишет
AstraSerg
yopp
там должен быть _id или запрос
AstraSerg
ну или через forEach как здесь: https://stackoverflow.com/a/40993183/2733113
Constantin
Да вот наверно придется
yopp
много документов?
yopp
если не очень, то mongodump и скрипт из 10 сторочек
yopp
mongodump в .bson это просто последовательно записанные документы
yopp
но самое главное: первые 32 байта — размер документа
yopp
forEach это дорого будет
yopp
сериализация/десериализация
yopp
хотя конечно если документов не очень много может и прокатить
Constantin
Много, снимаю дамп уже, буду на локальной машине прогонять
Constantin
Спасибо всем
Constantin
Constantin
Это же бинарный формат, должно будет быстро разобраться, посмотрю какие байты делят документы на части
yopp
тьфу, первые 32 бита :)