Daniil
Для такой задачи лучше эластик присмотреть
Nick
Роман
Nick
да
Роман
Полудомашняя разработка так сказать.
Роман
Плохо, ладно
Спасибо
Nick
если редко - значит можно вообще отказаться
Daniil
Вам в @nodejs_ru
Poire
Всем привет, подскажите пожалуйста, что быстрее - обновлять документ в монго или делать его реплейс?
yopp
обновлять
Poire
А почему?
yopp
если в коллекции есть индексы, но обновление не затрагивает индексируемые поля, то индексы не будут обновлятся. в случае с replace они обновляются
yopp
плюс для репликации replace это дорогая операция, так как в оплог попадёт весь документ, а не фактические изменения
Poire
Vsevolod
Подскажите, можно ли делать одновременно $push и $set по одному полю?
Vsevolod
Точнее даже не так. Всегда ли можно делать $push и $set по одному полю одновременно в одном запросе.
Почему спрашиваю? Вот здесь применяется такая логика: https://github.com/mongodb/mongoid/blob/master/lib/mongoid/atomic/modifiers.rb#L195
Вкратце - если нам нужно добавить в пуш поле, которое уже есть в сет или пул, то нужно направить его на второй запрос.
Denis 災 nobody
как правильнее, сначала добавлять рут юзера, потом собирать репликасет, или сначала репликасет, потом рута?
Denis 災 nobody
@dd_bb
Андрей
Anatoly
Господа, я написал свое небольшое "ОРМ" поверх монги и хочу его тестить. Есть ли какое-то state-of-art решение для симуляции монго? Или лучше поднять отдельную тестовую базу, где тестить этот ОРМ ?
Nick
yopp
yopp
Поднимать mlaunch из mtools
yopp
Но зачем ещё один ORM
Anatoly
Но зачем ещё один ORM
Хороший вопрос. Он достаточно легковесный. Но скорее это адаптация старого "ОРМ", который я написал под Google Datastore. Ну и интересно самому закопаться в детали и тонкости БД
Denis 災 nobody
что-то я запутался... сделал replicaSet, теперь хочу добавить юзера, запускаю mongo —host node1,node2,node3, подключает, но при rs.status() говорит
"errmsg" : "command replSetGetStatus requires authentication",
и что ему скармливать? Нет ещё юзеров...
Denis 災 nobody
пробовал всякие форматы типа --authenticationDatabase admin --username root --password ""
Denis 災 nobody
без юзера-пароля тоже хочет авторизацию..
Anonymous
Anonymous
Подключайся к праймари через локалхост и создавай юзера с правами на создание других юзеров как минимум. Эксепшн закрывается после создания первого юзера.
Dmitry
Стоит ли шардировать коллекцию сразу, если ожидается, что за год в нее попадет 15кк документов по 2кб (avgObjSize) или тут шардирование вообще не нужно?
Denis 災 nobody
Denis 災 nobody
Denis 災 nobody
Суть - автоматическая
Андрей
Результат не изменится от того, на каком этапе вы включите авторизацию. Даже набор действий не изменится. Вам все равно переваливать инстансы для включения авторизации. Любую удобную последовательность выбирайте.
Denis 災 nobody
Результат не изменится от того, на каком этапе вы включите авторизацию. Даже набор действий не изменится. Вам все равно переваливать инстансы для включения авторизации. Любую удобную последовательность выбирайте.
"набор действий" как раз меняется. Вот у меня 1 хост, я на нём (и это может быть ЛЮБОЙ хост) делаю рута, и с него же собираю кластер. Хотя я так понимаю, если я с этого хоста запускаю сборку сета, скорее всего именно этот хост и будет примари, но - это на 100% и отмечено в доке, или только "обычно"? Не хочется сначала проверять список хостов после создания сета для поиска мастера.
Не понимаю момента про "переваливать инстансы для включения авторизации", сколько кластеров собирали - никогда этого не делали. Добавили рута в сете - он автоматом на все хосты применился. Добавили юзера и базу - они автоматом появились везде, переключили мастера - рут работает, юзер работает, базы есть
Denis 災 nobody
для работы просто сразу вытягивается mongod.key и правится конф через sed на тему bindIp, установку рабочей папки и ключа.
Андрей
Добавили юзера в базу и включили авторизацию - это разные вещи!
Denis 災 nobody
cat /var/lib/own/mongo/templates/mongod-addroot.js
use admin;
config = {user: "root", pwd: "{{password}}", roles:[{role: "root", db: "admin"}]}
db.createUser(config)
это через sed копируется в tmp, заменяя пароль на взятый из секретов, и применяется как cat /tmp/mongod-addroot.js | mongo
Denis 災 nobody
кстати вопрос, почему оно не работает как mongo mongod-addroot.js - так заявлено в доке, но по факту не работает..
Евдоким
Добрый день, не получается найти инфу в гугле по двум вопросам, может кто знает?
1. Можно ли в монге ограничить коллекцию по максимальной длине документов в ней (например, чтобы нельзя было добавить больше 20 документов)
2. Можно ли ограничить массив в документе по длине (например, чтобы максимальная длина массива была 10 элементов)
Denis 災 nobody
security.keyFile
Type: string
The path to a key file that stores the shared secret that MongoDB instances use to authenticate to each other in a sharded cluster or replica set. keyFile implies security.authorization. See Internal/Membership Authentication for more information.
Denis 災 nobody
но на что обратить внимание я понял, спасибо за ликбез.
Андрей
А я провтыкал, когда вы написали про ключ, видимо)
Denis 災 nobody
но всё-равно, ещё раз перечитал доку, чуть больше про security понял
Vadzim
Подскажите, можно ли как-то сжать данные при передаче по сети в монго? Может ли монго выдавать данные в сжатом виде? Есть данные хранящиеся в файлах и их необходимо после преобразований сохранить в монго, иногда читаю данные порциями, но из-за объемного json создается трафик.
Anonymous
Есть сжатие у монги, для использования его должен поддерживать драйвер клиента, скорее всего для всех драйверов это вопрос свежести.
Anonymous
Vadzim
Egor
Всем привет. Хочу обновить монго с 2.4 до хотяб 3.4. Как это можно сделать кроме как постепенный апгрейд? dump->restore может пройти?
Nick
Egor
Slava
Slava
дай функцию полностью
Slava
интеграционный тест писал?
Slava
Serg
если в запросе стоит сортировка
"sort": {
"createEvent.dateWhen": -1
},
а индекс создан :1
Serg
влияет ли это как-то на скорость выборки ?
Nick
нет
Serg
спасибо
Nick
порядок влияет когда индексы из нескольких полей и по каждому делается своя сортировка
Vadzim
подскажите как можно в хосте выставить параметр сжатия данных. Поддержка есть, но пока в инете нагуглить не могу
Vadzim
вроде так можно ?compressors=snappy
askbnd
Всем привет! У монго есть проблема при очень многом инсерте за короткое время?
Anonymous
вроде так можно ?compressors=snappy
Как передаешь параметры dbPath и т.п.? Если через конфиг, по ссылке которую я ранее давал, если передаются все параметры в командной строке, есть ключ который можно найти по табличке вот тут:
https://docs.mongodb.com/manual/reference/configuration-file-settings-command-line-options-mapping/
Vadzim
Anonymous
А, это ты уже на стороне приложения сжатие включаешь. Тут я не подскажу.
Vadzim
на стороне монги включал не я, но с монги когда трафик шел, сжатия не увидели
Daniil
Daniil
Зависит от дисков, от общего объема данных, от размера документа, от наличия индексов и тд
Daniil
В общем случае это обычная задача БД
GG
привет. mongod не запускается. помогите разобратся, не знаю что с этим делать
Андрей
Там же написана совершенно четко причина по критерию STORAGE