
Andrew
01.08.2018
15:42:26
Т.е. задержкой репликации это не объяснить

Constantin
01.08.2018
18:05:43
Т.е. задержкой репликации это не объяснить
Возможно у вас было два ведущих в какой-то момент и оптлог криво среплицировался. Такое может произойти при ошибках в настройке и проблемах внутри сети, когда несколько клиентов
Если клиент один — то это странное поведение

yopp
01.08.2018
19:07:27

Google

yopp
01.08.2018
19:07:43
Попробуйте агрегацией посчитать число документов

Andrew
01.08.2018
19:08:19
Думаю тоже так поступить :)

Ruslan
02.08.2018
08:52:57
Можно ли как то сделать, чтобы в индексе expireAfterSeconds как то помягче отжирал ресурсы? После его введения просела производительность. По графикам очень выросло CPU и нагрузка на диск.

Constantin
02.08.2018
09:52:38

Ruslan
02.08.2018
10:12:54
@ya_kostya индекс был новый, коллекция большая, да, сам индекс строился два часа (нагрузку обрубали на время построения, сейчас удаляет записи под нагрузкой, и монга начала медленнее отдавать данные, в чем и проблема).

Constantin
02.08.2018
10:13:37
А индекс бэкграунд или фореграунд?

Ruslan
02.08.2018
10:13:45
бэкграунд

Constantin
02.08.2018
10:14:20
Тогда странно, он должен был чистить по-ходу построения индекса
Но вообще, если документов много которые нужно удалить — это нормально что растет нагрузка, особенно если на коллекции есть другие индексы
Так как уделение и обновление может вызывать проблемы если индексов много, или они тяжелые

yopp
02.08.2018
10:20:39

Ruslan
02.08.2018
12:09:09
@dd_bb постоянно, но там много данных, которые надо вычистить. Удаляются 300-600 в минуту из 4млн записей в базе.

Google

yopp
02.08.2018
12:09:37
300-600 это не очень много
4 млн тоже не очень много
а какой поток записей/чтений?

Ruslan
02.08.2018
13:56:37

yopp
02.08.2018
13:57:27
вероятнее всего пришло время масшрабироваться

Ruslan
02.08.2018
13:58:00
Эх :(
Жду железа

Anton
02.08.2018
14:14:32
Как при группировке посчитать количество всех аккаунтов + кол-во уникальных?
подвис немного
http://dpaste.com/0P0FD25
Делать еще одну проекцию после группировки?

Yurii
02.08.2018
14:33:47

Anton
02.08.2018
14:34:53
account_ids: { $addToSet: '$account_id' } - делаю пока так. А можно ли еще null значения пропускать?
http://dpaste.com/1BBWB91

Banschikov
03.08.2018
06:20:56
Приветствую! Подскажите, как правильно переименовать пользователей баз данных в монге?

Artem
03.08.2018
06:28:21
Попробуйте так :
db.system.users.update({"user":"oldname"}, {$set:{"user":"newname"}})

Banschikov
03.08.2018
06:31:35

Artem
03.08.2018
06:33:20
Сейчас до рабочего места доберусь, попробую прям с примером сделать

Banschikov
03.08.2018
06:37:33

Google

Данила
03.08.2018
07:21:39
Здравствуйте. Можно ли сделать горизонтальное масштабирование MongoDB таким образом:
Есть 2 хоста, на каждом из них создан Docker контейнер с MongoDB.
К каждому контейнеру в директорию с БД примонтирована CephFS.

Slava
03.08.2018
07:38:28

Данила
03.08.2018
07:38:39

Slava
03.08.2018
07:40:17
думаю что нет, монга ведь умеет в шардирование оно не подходит вам?

Artem
03.08.2018
07:44:09

Anton
03.08.2018
08:20:06
Здравствуйте. Есть проблема, осваиваю транзакции в mongoose 5.2.6 и наткнулся на ошибку "Transaction numbers are only allowed on storage engines that support document-level locking". Сама база на mlab-е. Подскажите пожалуйста в какую сторону копать? Код использовал из мануала по mongoose

Undefined
03.08.2018
08:45:28
Добрый день, может знает кто, как правильно передавать полученную бд?
Сделал отдельный модуль для подключения (до этого всё было в server.js и работало)
1ое - server.js
2ое - запрос
3ие - mongoconnect.js
Пишет ошибку, при попытке обращения к db.collection (на 3 скрине)
ошибка db.collection is not a function

Anton
03.08.2018
08:50:48
А db он точно нашёл при подключении?

Undefined
03.08.2018
08:51:55
Да, урл тот же
Как я понял, вне метода connect он её не видит, т.е. инициализация идёт только внутри метода .connect()
Но я хз тогда как правильно вынести это в отдельный метод

Mikhail
03.08.2018
11:27:39
Вам в @nodejs_ru. И вы неправильно понимаете асинхронность в ноде

Undefined
03.08.2018
11:28:42

Mikhail
03.08.2018
11:31:22

Undefined
03.08.2018
11:34:16
Спасибо ещё раз, учту
Пойду с асинхронностью поразбираюсь

Banschikov
03.08.2018
11:37:48
Подскажите, плес. Делаю дамп базы данных при помощи mongodump с флагом —dumpDbUsersAndRoles
Делаю restore на другой инстанс с монгой, в итоге захожу в БД, смотрю юзеров и там все пусто. Как правильно востановить на другом инстансе всех юзеров и роли?

Google

Banschikov
03.08.2018
11:39:27
Я правильно понимаю что инфа по всем юзером и ролям лежит в файле $admin.system.users.bson ?

yopp
03.08.2018
12:40:07
https://docs.mongodb.com/manual/reference/operator/aggregation/sum/
Во-первых, в монге есть защита от запуска нескольких экземпляров монги с одним путём
Во-вторых, это почти в любой субд является крайне рискованной идеей


Павел
03.08.2018
14:20:51
Гайс, вопрос про mongoose: шо делать если у тебя 50 сабсхем и все вкладываются друг в друга и в том числе сами в себя? КОнфликт можно разрешить с помощью ref, но тогда будут создаваться побочные коллекции и в круде придется джойнить релейшены. Есть способ их вкладывать без ref?

Constantin
03.08.2018
14:34:35

Павел
03.08.2018
14:34:52
Типа того)

Constantin
03.08.2018
14:41:44
Можно решить через промежуточный модуль, назовем его schemas.js
Он просто экспортирует наружу пустой объект.
Есть модуль, который сделает require (import) в себя schemas.js и все схемы, после чего положит все схемы в объект который был импортирован из schemas.js и экспортируем этот же объект.
Внутри схем импортим в себя не конкретные схемы, а schemas.js
Во внешнем коде (например где из схем создаете модели), импортите тот модуль, который импортил в себя все.
Мы всегда так решали циклические зависимости. Как это сделать на TypeScript вместо JS, не скажу, так как пишу на чистом, но вроде можно сделать экспортируемый объект — any или Map
Mongoose делает примерно также, вы когда модель объявляете через model, он в mongoose.models кладет

Phoenix»
03.08.2018
17:17:08
могнус же медленнее нативного драйвера?

Constantin
03.08.2018
17:18:10

yopp
03.08.2018
18:03:53
Сейчас ответ бота выключу
+