
Юрий
24.09.2018
13:56:16
Привет, не подскажите ли, как можно пофиксить ситуацию, когда размер базы 40гб, а единственная оставшаяся там коллекция занимает 10гб.
Остальные удалены, но как я понял, место не освободилось ( делался db.collection.drop).
версия базы 2.6.10
или эта память будет переиспользована без проблем?

yopp
24.09.2018
13:58:23
Ох, 2.6 это очень старая версия. Очень

Юрий
24.09.2018
13:59:20
Сам удивился. Но деваться некуда. Стоит такая на сервере, буду лобировать обновление.

Google

yopp
24.09.2018
13:59:23
Самый надежный способ: mongodump и mongorestore

Юрий
24.09.2018
13:59:48
и дропнуть базу?

yopp
24.09.2018
13:59:51
Делаете дамп, дропаете всё что есть, заливаете обратно
Да

Юрий
24.09.2018
13:59:52
а не коллекцию
спасибо!)

yopp
24.09.2018
14:00:12
Я не помню, в mmap хранилище целиком на базу было или на коллекцию

Ivan
24.09.2018
15:37:44
Привет! Я правильно понимаю, что могу стопнуть секондари в трипл-реплике, чтобы слить с него бекап?

yopp
24.09.2018
15:51:15
Да. Не обязательно даже стопать
Если mongodump делать

Ivan
24.09.2018
15:54:39
mongodump вроде как not recommended, лучше снапшот с lvm или этот для хостов с шардами и сингл?

yopp
24.09.2018
15:56:16
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
3.2.21: https://docs.mongodb.com/manual/release-notes/3.2/#sep-7-2018 (End of life: September 2018)
3.0.15: Support ended February 2018 (Last release May, 2015)
Кажется вышел последний релиз 3.2

Google

Dimanius851
24.09.2018
15:56:47
❤️

?
24.09.2018
15:56:59
??

yopp
24.09.2018
15:57:07

Ivan
24.09.2018
15:58:55

yopp
24.09.2018
15:59:06
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)

Dimanius851
24.09.2018
16:00:38
?

Ivan
24.09.2018
16:01:06

yopp
24.09.2018
16:02:56
вы внимательно прочитайте

Ivan
24.09.2018
16:03:26
if the..? Я пока не знаю, пострадает или нет +)

Oleg
24.09.2018
17:07:15
Тут говорится о просадке производительности при дампе, если для бизнеса недопустимо то альтернативы

Ivan
24.09.2018
17:11:03

Vlad
25.09.2018
06:32:59
Здравствуйте. Стало интересно что из себя представляет mongodb. Может кто подкинуть хороший туториал?

Artem
25.09.2018
06:34:04
документация на официальном сайте просто мегаподробна

Vlad
25.09.2018
06:34:43
Понял. Спасибо)

Катерина
25.09.2018
08:42:49
Как в монге написать мигрейшн, чтобы у всех ранее существующих юзеров ставилось дефолтное проперти? Сейчас оно undefined. И как ее потом запускать?

yopp
25.09.2018
08:43:10
в монге нет схем и нет миграций
если вы хотите добавить поле с каким-то значением, в документы в которых этого поля нет, то используйте updateMany с условием по $exists. Если поле есть, но его значение null и undefined (он вроде deprecatated), то используйте $eq

Катерина
25.09.2018
09:06:12
github.com/balmasi/migrate-mongoose

Google

yopp
25.09.2018
09:09:13
это изобретение монгуса, оно никакого отношения к вашему оригниальному вопросу «как в монге написать мигрейшен» не имеет
в монге — никак

Катерина
25.09.2018
09:09:35
На сервере есть свойство isDeactivated. Недавно добавила. Так вот, нужно сделать миграцию чтобы у уже существующих юзеров установилось дефолтное проперти isDeactivated = false

yopp
25.09.2018
09:10:18
вероятно в монгусе есть возможность сделать фоллбэк до дефлотного значения, но вам тут с монгусом маловероятно что помогут. у вас больше шансов в канале про js

Катерина
25.09.2018
09:11:27

Nick
25.09.2018
09:52:51

Катерина
25.09.2018
09:53:52

XENONIUM
25.09.2018
13:26:28
{box:{cats:{num:3},{dogs:{num:7},{...}}
users.update_one({'id':uid]},{'$unset':{'box.cats':''}})
{box:{}}
Почему так происходит? Надо удалить только один объект, очищается весь

Vova
25.09.2018
13:36:13
users.update_one({_id:"id"},{$unset:{"box.cats":1}})
Должно сработать

Nick
25.09.2018
13:38:17


Ivan
25.09.2018
14:15:14
Привет!
Подскажите: скопировал файлы с реплики на иной сервер. Имя реплики в настройках одно, сервер в статусе 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} ), не удаётся.
направьте, пожалуйста
Привет!
Подскажите: скопировал файлы с реплики на иной сервер. Имя реплики в настройках одно, сервер в статусе 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
25.09.2018
15:24:28
я тут обнаружил что размер чанка нельзя установить применимо к отдельной коллеции, т.е. только на бд вцелом. это я такой странный или кто-то еще с таким сталкивался?

Maxim
25.09.2018
16:58:39
Привет! Насколько перфоманс вьюшек проседает в сравнении с обычными коллекциями?
Есть на фронте табличка с фильтрами и сортировкой в которой Поля с 4+ коллекций, хочу упростить себе жизнь через вьюшки

Yaroslav
25.09.2018
17:01:13
почему может не работать update всех документов в монгусе?
multi: true стоит

Nick
25.09.2018
17:03:37

Google

Yaroslav
25.09.2018
17:03:46
*всех документов

Nick
25.09.2018
17:04:48
условие не совпадает, попробуйте сделать find с тем же условием и сравнить что возвращает монга с тем что вы ожидаете проапдейтить

AstraSerg
25.09.2018
18:27:16

Ivan
25.09.2018
18:27:43

AstraSerg
25.09.2018
18:28:53
Нужно начинать с создания Примари

Maxim
25.09.2018
19:52:17
народ, подскажите пожалуйста что-то почитать на тему создания вьюх в монге? хочу создать вьюху на основе агрегации трёх колекций - но пока не пойму как =(
инфы тоже не нашёл - видно гуглить разучился

Юрий
25.09.2018
20:13:21
Добрый вечер.
Подскажите пожалуйста ещё, монга версии 3.6 не видит /etc/mongod.conf
Обновлялся с 2.6. ЧЯДНТ?
т.е. я даже порт по умолчанию сменить не могу. только с параметрами при запуске.
а так, что есть файл с конфигами, что его нет, ей всё равно. Запускается на дефолтных параметрах. Или она их откуда то с другого места тянет. Гугл как то помог слабо =\

mb
25.09.2018
20:16:03
Проверь, наверняка в init-скрипте для mongod выставляется флаг -f|—config.

Ivan
25.09.2018
20:24:10

AstraSerg
26.09.2018
04:19:44

Ильнур
26.09.2018
08:53:54

Юрий
26.09.2018
08:59:48
неа
но мне таки удалось подсунуть конфиги.
монга их таки читала, но при запуске сразу же падала и запускалась с дефолтными настройками.
Помогло прописывание форка в конфиге.
ПОсле этого база стартовала, но была чистая. Нулевая.
А когда падала и перезапускалалсь, то она таки подтягивала старые коллекции.
Кажется проще не обновляться а снести и заного поставить)

AstraSerg
26.09.2018
09:25:13
Обновление нужно производить последовательно. Или дамп/рестор

Юрий
26.09.2018
09:30:48
А вы с 2.6 сразу на 3.6 пытаетесь обновиться? Это не прокатит
да, последовательно.
2.6->3.0->3.2->3.4->3.6
на 3.6 нужно было править конфиги с удаленным доступом и тут и возникли сложности с ними.
Либо есть старые коллекции но конфиги дефолтные.
Либо конфиги мои, а база нулевая.
Хотя в конфигах поменял только порт и потом уже форк добавил.
С наскоку решить не получилось. Видимо надо внимательно читать доки)

AstraSerg
26.09.2018
10:15:27
> а база нулевая.
Может, в неправильном месте базу ищет? в логах есть чё?

yopp
26.09.2018
10:16:25
делаете дамп, ставите последнюю версию, восстанавливаете дамп, убеждаетесь что всё работает

Google

yopp
26.09.2018
10:17:17
если работает, старую инсталляцию можно выводить из эксплуатации

Constantin
26.09.2018
10:17:31
Всем привет, подскажите какой-нибудь запрос, чтобы из коллекции получить документы, которые преближаются к лимиту в 16 мегабайт?

yopp
26.09.2018
10:19:25

Constantin
26.09.2018
10:20:08
Это плохо, у меня в проде возник один документ, который не может обновиться, потому что выскочил за 16 мегабайт, дополнительные логи не могу не остановив прод поставить

yopp
26.09.2018
10:20:53
монга помоему это в свой лог пишет

AstraSerg
26.09.2018
10:20:57

yopp
26.09.2018
10:20:58
там должен быть _id или запрос

AstraSerg
26.09.2018
10:24:06
ну или через forEach как здесь: https://stackoverflow.com/a/40993183/2733113

Constantin
26.09.2018
10:24:30
Да вот наверно придется

yopp
26.09.2018
10:27:30
много документов?
если не очень, то mongodump и скрипт из 10 сторочек
mongodump в .bson это просто последовательно записанные документы