Dmitry
как написать, что бы было два поля, указывающих на модель User?
Dmitry
сейчас одна ассоциация перезаписывает другую, я так понял
Dmitry
а, стоп, все работает Oo
Dmitry
вот эти присвоения ни на что не влияют, лол User.SetParentReferralLog = ...
Artem
@dd_bb забань его пжста, не несет никакой смысловой нагрузки в этом чате
Anonymous
всех в бан!
Mikhail
Хей ребзя. Есть вопрос по mongoose. Допустим я хочу изменить все документы в коллекции. Если я просто через find все получу, а потом буду update применять на каждую, это норм? Мне кажется большой результат find не захочет быстро работать. Может стоит разбить на несколько маленьких?
Mikhail
Логика работы не та. У меня для каждого документа свои обновляемые поля. Вопрос в другом, стоит ли делать один большой запрос на все документы или разбивать их лимитом и менять кусочно? Вроде бы второй вариант более логичен, но в монге всего лишь четвертый день, поэтому вопрос про best practices.
Paweł
курсор? (Просто вношу тему для дискуссии, не знаю эффективен ли он в данном случае).
Paweł
К тому же, можешь сам проверить какой вариант эффективнее.
Kolya
Ребят, а что эффективнее, 1 мелкий запрос в БД и по необходимости второй запрос с большой коллекцией, или сразу 1 запрос где куча данных? Просто есть часть данных, которые нужны часто, а есть большой пласт который гораздо реже. Вот думаю, стоит ли разделить это?
AstraSerg
Ребят, а что эффективнее, 1 мелкий запрос в БД и по необходимости второй запрос с большой коллекцией, или сразу 1 запрос где куча данных? Просто есть часть данных, которые нужны часто, а есть большой пласт который гораздо реже. Вот думаю, стоит ли разделить это?
Добрый день. Сильно зависит от вашей специфики. Идеологически, оба подхода имеют право на жизнь. Брать маленькую выборку из большой коллекции - распространенная задача. Обычно помогают индексы. Но можно и на коллекции разбить, типа latest_data и history_data или all_data
AstraSerg
Прочитал что лучше разбивать, 16мб лимит 😐
Да, 16МБ на один документ, а мы с вами про коллекции говорим.
Denis
Привет! Не могли бы пример json файла скинуть валидного, для создания пользователей в монге?
Сергей
Привет. Подскажите пожалуйста какой raid лучше всего подходит для mongo?
Gleb
0
Mira
Добрый день, может, есть у кого идеи Есть схема в mongoose, по таблице монго Внутри схемы 2 коллекции, одну он выводит с данными, вторую коллекцию пустую, хотя данные в ней тоже есть В чём может быть ошибка? Поля сравнивал, всё сходится
Constantin
Добрый день, может, есть у кого идеи Есть схема в mongoose, по таблице монго Внутри схемы 2 коллекции, одну он выводит с данными, вторую коллекцию пустую, хотя данные в ней тоже есть В чём может быть ошибка? Поля сравнивал, всё сходится
Не уверен, что до конца ососзнал, что вы написали, но если данные в колекции есть, но монгусовская модель ничего не находит, есть подозрение, что модель монгуса смотрит на другую коллекцию. В таком случае, при создании модели желательно явно указать имя коллекции, с которой модель должна работать
Constantin
mongoose.model(Имя модели в монгусе, Схема, Имя коллекции в базе данных)
Сергей
А по raid кто-нибудь подскажет?
Stanislav
ответили же, рейд 0. Правда, лучше сначала опеределитесь, для чего вы вообще хотите рейд
Stanislav
в смысле, определитесь, какую проблему решаете
Gleb
рейд - это не бекап. надеюсь все понимают
Khramov
А можно как-то сбросить rs.config().version без перезапуска монги?
Khramov
А то при попытке присоединить реплику пишет rs0:PRIMARY> rs.add('mongo-0.infra-test.svc.cluster.local:27019') { "ok" : 0, "errmsg" : "Our config version of 3 is no larger than the version on mongo-0.infra-test.svc.cluster.local:27019, which is 182338", "code" : 103, "codeName" : "NewReplicaSetConfigurationIncompatible" } rs0:PRIMARY>
Pavel
Подскажите, попытался настроить кластер mongodb 4 с помощью докера, из офф. доки, но клиент выдаёт ошибку errmsg: "Cannot accept sharding commands if not started with --shardsvr", code: 193, codeName: "NoShardingEnabled" хотя у шардов проставлены ключи --shardsvr
yopp
А по raid кто-нибудь подскажет?
С монгой рейд не нужен в большинстве случаев
Виктор
Всем доброго времени суток. Пытаюсь сделать вот такую штуку. При авторизации проверяю в базе "main" к какой компании относится клиент, получаю данные и переключаюсь на базу этого клиента (например "db1", "db2" и т.д.) для дальнейшей работы в системе. Заметил что после запуска проекта, первое переключение длится около 1-2 секунд, дальше ситуация налаживается до милисекунд. Стоит ли создавать пулл из подключений (если такое возможно), или можно обоитесь одним коннектом с постоянными прыжками из базы в базу? Если не понятно написал, постараюсь изобразить схематично. Сейчас используется одно подключение с connection.useDb, для переключения. Может быть есть готовые класс на typescript для подобного использования? Думал над тем, чтобы открывать и закрывать соединение в рамках запроса к базе данных, но чую ничем быстро работающим не кончится.
Yar
Всем доброго времени суток. Пытаюсь сделать вот такую штуку. При авторизации проверяю в базе "main" к какой компании относится клиент, получаю данные и переключаюсь на базу этого клиента (например "db1", "db2" и т.д.) для дальнейшей работы в системе. Заметил что после запуска проекта, первое переключение длится около 1-2 секунд, дальше ситуация налаживается до милисекунд. Стоит ли создавать пулл из подключений (если такое возможно), или можно обоитесь одним коннектом с постоянными прыжками из базы в базу? Если не понятно написал, постараюсь изобразить схематично. Сейчас используется одно подключение с connection.useDb, для переключения. Может быть есть готовые класс на typescript для подобного использования? Думал над тем, чтобы открывать и закрывать соединение в рамках запроса к базе данных, но чую ничем быстро работающим не кончится.
А почему бд разные, а не коллекции?
Yar
И представь что количество коннектов/переключений пропорционально количеству пользывателей
Yar
И как насчет новых пользователей
Виктор
А почему бд разные, а не коллекции?
Удобнее обслуживать при падениях, откатах, частичных модернизациях. Я думал про коллекции, но почитав пару статей меня убедили именно в реализации через множество дб
Yar
Падении чего?
Виктор
Yar
Я бы использовал колекции
Yar
Раздельные бд юзал бы для микросервисов/модулей
Yar
Можно держать конекты к разным бд
Yar
Без переключения
Виктор
Я бы использовал колекции
Вдохновлялся вот этой статьей https://m.habr.com/post/110979/
Виктор
Вот ещё нашел статью где кэшируют подключения, попробую так же, посмотрю насколько оперативка просядет
Yar
Вдохновлялся вот этой статьей https://m.habr.com/post/110979/
скорее всего речь об реляционых бд
Yar
так же при логине выбирается бд системы с которой работаем и дальше работаем только с ней, без переключений на другие
Yar
тоесть один ui к разным бд
Yar
но переключения между бд нет
Виктор
Понятно
Yar
вопрос в том, что так как речь о монге, то тут такой подход не очень
Yar
ибо другая концепция
Виктор
Ну а чем плохо так же сделать?
Виктор
Так же логин в одной базе, работа в другой?
AstraSerg
скорее всего речь об реляционых бд
Только что хотел написать это же. Статья мягкоговоря, мало подходит для монги.
Yar
Ну а чем плохо так же сделать?
почитай из-за каких проблем они пришли к такой архитектуре, в монге этих проблем нет
Виктор
Что даёт реляционной базе возможность реализовать данную концепцию?
Виктор
В смысле нет, вроде все один к одному
AstraSerg
коллекция в монге - больше чем таблица в реляционной БД, так как может иметь вложенные документы. И база в реляционной БД больше чем база в монге.
Yar
ладн. успехов
Yar
не юзайте монгу, там где она не нужна
Yar
я конечно не спец, но такие же ошибки делал
Виктор
Прикольно, вопросов куча, ответ - не юзайте
Yar
тут всегда так
AstraSerg
Прикольно, вопросов куча, ответ - не юзайте
Перечислите, пожалуйста оставшиеся вопросы. Попробуем разъяснить
Виктор
Перечислите, пожалуйста оставшиеся вопросы. Попробуем разъяснить
Допустим делаю через коллекции, у одной базы есть предел вместимости?
Виктор
Поступила интересная фраза, не используйте монгу, где не надо, тогда где её использовать?
AstraSerg
Допустим делаю через коллекции, у одной базы есть предел вместимости?
Предела практически нет, как и у коллекции Вот здесь все лимиты https://docs.mongodb.com/manual/reference/limits/
Виктор
Понятно дело, я могу сделать информационную базу и на постгрес, но концепция хранения вложенных документов мне больше подходит, хотя постгрес уже научился делать так же
Виктор
Предела практически нет, как и у коллекции Вот здесь все лимиты https://docs.mongodb.com/manual/reference/limits/
Отлично, в каких случаях начинают использовать шардинг? Когда жёсткий диск кончается или есть нагрузка на оперативку при больших объемах информации?
Виктор
Тоесть не так, когда я пойму, что пора инфу раскидать на разные жёсткие диски? Когда начнет тормозить? Или когда 3 тера начнут к концу подходить, понятно что тормозить и без базы начнет, если весь жёсткий занять, но что случится раньше?
Виктор
тут всегда так
Не разу не встречал в программировании, ответ на какой-то вопрос: "Не юзайте", он встречается там, где лень отвечать
Виктор
с почином
Да не, почина не случилось