yopp
Вам в группу по JavaScript
Mira
Вам в группу по JavaScript
Хорошо, спрошу там Спасибо за помощь
Mira
Вам в группу по JavaScript
Если интересно на досуге подумать,то: Получается так, что когда я делаю compound index по _id и answers.user._id Какие бы я запросы не делал, он всё время кидает на индексирование по _id Со всем остальным работает на ура В чём проблема _id?
Mira
Вам в группу по JavaScript
И вообще, делая любой compound index по, например, 2ум полям, где одно _id - он всегда кидает индексирование на UNIQUE _id
yopp
Compound index c префиксом по _id никогда не будет иметь смысла
yopp
_id это уже _уникальный_ индектификатор документа
yopp
Если в запросе есть точное совпадение по _id, базе данных остаётся только отдать вам документ.
yopp
Т.е. это запрос со 100% селективностью
Andrew
Привет! Репликация master-slave, вырубаю мастер ноду, slave не становится primary. Что не так с конфигом? Как-то у меня всегда это без орбитра работало { "_id" : "db-mongo", "version" : 3, "protocolVersion" : NumberLong(1), "members" : [ { "_id" : 0, "host" : "192.168.0.1:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 2.0, "tags" : {}, "slaveDelay" : NumberLong(0), "votes" : 1 }, { "_id" : 1, "host" : "192.168.0.2:27017", "arbiterOnly" : false, "buildIndexes" : true, "hidden" : false, "priority" : 1.0, "tags" : {}, "slaveDelay" : NumberLong(0), "votes" : 1 } ], "settings" : { "chainingAllowed" : true, "heartbeatIntervalMillis" : 2000, "heartbeatTimeoutSecs" : 10, "electionTimeoutMillis" : 10000, "catchUpTimeoutMillis" : 60000, "getLastErrorModes" : {}, "getLastErrorDefaults" : { "w" : 1, "wtimeout" : 0 }, "replicaSetId" : ...) } }
Andrew
Так три ноды нужно. В логах наверняка об этом написано.
Т.е. конфиг правильный, но есть конфликт. Вообще, часто использую репликацию из двух нод на неважных системах
Andrew
Обычно работало
pplcf
ну, это же даже логически не может работать
AstraSerg
Обычно работало
А что в логах-то?
pplcf
если умерла нода 1, то как нода 2 поймет, что умерла имено нода 1, а не она сама?
pplcf
нужен минимум третий
Andrew
Логически я понимаю, что три нужно. Но говорю о практике, где две ноды переключаются в случае чего) я же не придумал)))
Andrew
Логи гляну сейчас
pplcf
просто первая отваливалась на короткое время
pplcf
когда подключалась снова мастером становилась вторая
pplcf
но по факту был даунтайм пока первая не вернулась в строй
pplcf
скорее всего было так
pplcf
заведи арбитра
AstraSerg
заведи арбитра
Где арбитр, там и слейв. Вай нот?
pplcf
ну может по ресурсам тяжело держать еще одного слейва
pplcf
можно и так
AstraSerg
Да, вы правы, зависит от размера.
Andrew
2018-08-15T17:57:50.048Z I REPL [ReplicationExecutor] Not starting an election, since we are not electable due to: Not standing for election because I cannot see a majority (mask 0x1)
Andrew
Видимо вот причина, почему не меняет статус
Andrew
Я так понимаю, на 3.0 у меня так работало. А на 3.4 такой "сомнительных подход" не катит, просит 2 запущенных ноды для выборов
AstraSerg
2018-08-15T17:57:50.048Z I REPL [ReplicationExecutor] Not starting an election, since we are not electable due to: Not standing for election because I cannot see a majority (mask 0x1)
Нет мажорити (большинства) говорит. Это подверждает, что третий нужен ;)
Andrew
Ага, разобрались! Спасибо!
Andrew
Но все же странно, что на 3.0 это спокойно работало
Andrew
И даже конфликтов не припомню
pplcf
очень вряд ли, что работало
pplcf
может все таки был арбитр
Andrew
Неа
Andrew
2 ноды без арбитра
Andrew
как одна падает, вторая в primary
pplcf
что значит "падает"?
pplcf
ты ее конкретно отключал?
Andrew
Падает я имею ввиду когда захожу на сервер и киляю процесс
Andrew
Т.е. при рабочей сети
pplcf
ну, как я понимаю, то такого быть не должно вообще
Andrew
На 2.6 вообще кворума не было, насколько я помню. У кого выше приоритет, тот и primary. А если че не так, уходит в rollback и мучайся дальше
pplcf
нет, в 2.х было такое же поведение
pplcf
это by design
pplcf
не помню за 1.х
Andrew
Значит добавлю на сервера приложений, думаю много жрать не будут
Andrew
Так то
ᅠ ᅠ ᅠ ᅠ
Ребят, делаю по примеру из док-и драйвера с добавлением поля индексации по увеличению "Single Ascending Index" http://mongodb.github.io/mongo-java-driver/3.4/driver/tutorials/indexes/ пишу: https://ghostbin.com/paste/ecuzn
ᅠ ᅠ ᅠ ᅠ
но новое поле name не добавляется в таком случае
ᅠ ᅠ ᅠ ᅠ
то есть сам документ нормально добавляется, а индексированного поля нет
ᅠ ᅠ ᅠ ᅠ
в примере док-и ровно так и написано: collection.createIndex(Indexes.ascending("name"));
ᅠ ᅠ ᅠ ᅠ
ᅠ ᅠ ᅠ ᅠ
вот, никаких предупреждений в коде нет
ᅠ ᅠ ᅠ ᅠ
и все прекрасно добавляется, кроме единственного поля с индексированием
AstraSerg
Любите вы ребусы... Ладно. А что такое ...fieldNames в предыдещем скрине?
ᅠ ᅠ ᅠ ᅠ
Любите вы ребусы... Ладно. А что такое ...fieldNames в предыдещем скрине?
fieldNames это просто IDE подсвечивает, что прописать в скобках
ᅠ ᅠ ᅠ ᅠ
подразумевая под названием поля
AstraSerg
Блин, или я перепил или вы не по-русски говорите :)
ᅠ ᅠ ᅠ ᅠ
Блин, или я перепил или вы не по-русски говорите :)
ну это подсказки от программы, в которой я пишу, ни на что это поле там не влияет по сути)
ᅠ ᅠ ᅠ ᅠ
тут проблема больше в том, что мне исправить, чтобы наконец поле добавилось
AstraSerg
Так индекс делается на существующее поле, а в приведенных документах поля name нет
ᅠ ᅠ ᅠ ᅠ
тут получается, что все исполняется, кроме строчки с созданием поля с индексированием
ᅠ ᅠ ᅠ ᅠ
AstraSerg
Объявит тогда сверху?? Вы на эротику намекаете? :))))
ᅠ ᅠ ᅠ ᅠ
Объявит тогда сверху?? Вы на эротику намекаете? :))))
ахах, нет. Пытаюсь понять, что добавить )
AstraSerg
Смотрите: индекс добавляется на существующее поле. Точнее, скорее всего и на несуществующее можно (может потом появится) но сам факт добавления индекса не создаст само поле. Сделайте это поле так же как делаете другие: url, title и др.
ᅠ ᅠ ᅠ ᅠ
Понял, сейчас попробую вручную поле добавить.
AstraSerg
Извините, я спать 😴. Но суть вы поняли
ᅠ ᅠ ᅠ ᅠ
AstraSerg
4.0.1 появилась в дебиане:# apt list --upgradable Listing… Готово mongodb-org/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7] mongodb-org-mongos/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7] mongodb-org-server/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7] mongodb-org-shell/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7] mongodb-org-tools/jessie 4.0.1~rc1 amd64 [upgradable from: 4.0.0~rc7]
Oleg
Всем привет. подскажите, можно ли создать юзера в монге только с одним action: update ?