Sergiy
Ребят, такой вопрос есть коллекция с пользователями. У каждого есть дата создания (Date). Как лучше реализовать так, чтобы можно было взять последние 30 дней и посчитать, сколько пользователей в какой день было создано?
Как уже написали монга не очень для работы над сырыми данными. А в данном случае даже для реляционки случае стоит подумать об итоговом документе, таблице, с требуемой группировкой, потому что данные за прошлые дни уже не меняются, и незачем по ним проходиться.
Sergiy
А как тогда лучше записывать?
под будущие запросы
Viktar
Ребят, такой вопрос есть коллекция с пользователями. У каждого есть дата создания (Date). Как лучше реализовать так, чтобы можно было взять последние 30 дней и посчитать, сколько пользователей в какой день было создано?
Вам надо агрегация. Первым степом матч где выберите больше какой даты. Вторым степом группировка. Что то вроде '{ $group: { _id: { $dateToString: { format: "%Y-%m-%d", date: "$date"} }, count: { $sum: 1 } } }, '
Naz
всем привет, как лучше всего сделать джойны в монго(много связей), только через лукап?
Igor
Привет. Может кто помочь как настроить монго?
Р
Р
Р
Вроде все норм
Р
А ошибку выдаёт
Nick
Вроде все норм
могу только посоветовать чат ноды https://t.me/nodejs_ru
Р
Я там уже писал
fλüggåɘnk∂€čhiœßøλ∫ên
А ошибку выдаёт
Не похоже что это связано как-то с монгой
Nick
Я там уже писал
проблема в ноде и в ее зависимостях, уберите все не используемые либы, подчистите node_modules
Р
Бляяя
Igor
https://nometa.xyz/
Его обязательно на сервер устанавливать?
Igor
На сайте нельзя все настроить как mysql?
fλüggåɘnk∂€čhiœßøλ∫ên
Есть бесплатное облако
fλüggåɘnk∂€čhiœßøλ∫ên
https://www.mongodb.com/cloud/atlas/lp/try2?utm_source=google&utm_campaign=gs_footprint_row_search_brand_phrase_intent_test_atlas_mobile&utm_term=mongo&utm_medium=cpc_paid_search&utm_ad=p&utm_ad_campaign_id=13277278264&gclid=Cj0KCQjwg7KJBhDyARIsAHrAXaEq1nsIDMLUEEtxo-UROfTAHREn1urwLQop9sjjhYhAwe2hOrMMma0aAiarEALw_wcB
fλüggåɘnk∂€čhiœßøλ∫ên
Опиши задачу что надо вообще
Igor
Опиши задачу что надо вообще
Мне нужно создать базу данных и подключиться к ней
fλüggåɘnk∂€čhiœßøλ∫ên
Откуда подключиться? Из кода, приложения?
Igor
Из кода
fλüggåɘnk∂€čhiœßøλ∫ên
Из кода
И в чем проблема? Создаёшь базу в облаке, тебе дают адрес, порт и креды можно указать
fλüggåɘnk∂€čhiœßøλ∫ên
fλüggåɘnk∂€čhiœßøλ∫ên
Кнопка connect -> connect your application
fλüggåɘnk∂€čhiœßøλ∫ên
Дальше все понятно должно быть
Anatoly
Господа, добрый день! У меня есть монга, в которой хранятся записи, у каждой из которых есть строковый тег. Мне нужно сделать запрос, который с offset-limit мне вернет все записи, отсортированные по самым редким тегам. То есть нужно вернуть все записи, но сначала будут идти с самым редким тэгом, потом вторым с конца и тд Как сделать group-by с сумматором - понятно, и как потом сделать "where tag={1}" и самому посчитать пагинацию - тоже примерно понимаю. Но, может, есть какой-то более красивый способ сделать это за один, пусть и большой, запрос к БД
Sergey
Подскажите, пытаюсь получить данные из mongo realm graphql выдает ошибку reason="could not validate document: _id: Invalid type. Expected: type: undefined, bsonType: objectId, given: [string mixed]"; code="SchemaValidationFailedRead" кто-нибудь сталкивался с подобной проблемой? У меня там поле _id - это число или строка по которой группировка сделана.
Sergey
заработало если просто сделать $unset _id
Sergey
Товарищи монговоды, помогите пожалуйста, есть три монги (реплика сет) в одном ДЦ (да, весят по 600+ Гб) надо добавить им ещё одну монгу в rs из другого ДЦ. если делать тупо в лоб, то монга во втором ДЦ реплицируется-реплицируется-реплицируется-реплиируется копит лаг, съедает всё выданное ей место 1.5Тб и падает... остановил одну из 3-х реплик в первом ДЦ скопировал всю хурму с остановленной реплики (~20 часов rsync жужжал) запустидл всё взад, оно встало в состояние RECOVERING и стоит су* лаг копит с примари короче как наживую добавить реплику в большую активно пишущую БД. Конечная цель переехать в ДЦ2 безшовно.
yopp
Товарищи монговоды, помогите пожалуйста, есть три монги (реплика сет) в одном ДЦ (да, весят по 600+ Гб) надо добавить им ещё одну монгу в rs из другого ДЦ. если делать тупо в лоб, то монга во втором ДЦ реплицируется-реплицируется-реплицируется-реплиируется копит лаг, съедает всё выданное ей место 1.5Тб и падает... остановил одну из 3-х реплик в первом ДЦ скопировал всю хурму с остановленной реплики (~20 часов rsync жужжал) запустидл всё взад, оно встало в состояние RECOVERING и стоит су* лаг копит с примари короче как наживую добавить реплику в большую активно пишущую БД. Конечная цель переехать в ДЦ2 безшовно.
Вероятно что у вас не хватает окна репликации для завернешния начальной синхронизации. Окно репликации это разница между самым ранним и самым поздним событиями в оплоге. Если время синхронизации больше этого окна, то самые новые записи в логе выпадут и не будет возможности восстановить консистентное состояние. Проверьте какого размера у вас окно и попробуйте увеличить размер оплога или ширину канала до новой реплики
Viktar
Попробуйте сделать рядом реплику через снепшоты. А потом догоните разницу с первой.
Sergey
Попробуйте сделать рядом реплику через снепшоты. А потом догоните разницу с первой.
не выйдет. снепшот я сделаю в датацентре где уже есть 3 реплики, а ноду надо дабавить в другом ДЦ куда мы пытаемся переехать
Viktar
Danil
Кто шарит в Redux отпишитесь в директ плиз
Danil
Нужен хелп
Sandaruwan😊
please help
karrtopelka
Привет, подскажите пожалуйста, как мне добавить или обновить (если уже есть) поле в обьекте { _id: id, companies: { company1Id: {}, company2Id: {} } } и если третья компания что-то сделала, мне надо дозаписать ее в companies, а если уже есть, то обновить ее поля, с новыми данными ключ компании динамический
karrtopelka
динамический ключ плохая идея, если в будем планируется делать какойто поиск по внутренним данным. А так обычный update с $set указанием новых значений. $set:{ "companies.companyId": companyInfo}
ааа, я понял, а то я делал, апсертами и долларами, как с массивами. Уже сделал все гуд, спасибо большое а за динамический ключ, то там все гуд, проверки по ним делаются)
Rumar
Как в монгодб вести БД так, чтобы в случае чего можно было просто перезалить данные из 1 бд в другую бд, и чтобы всё работало? свои айдишники для всего придумывать????
Rumar
допустим у меня в БД хранится сайт, юзеры, статьи, категории и прочее.. Я не до конца понял как вести эту БД чтоб безопасно было
Rumar
или просто бекапить её?)
Andrey
Veaceslav
Всем привет, господа - есть вариант получить записи с интервалов по времени ? То есть нужно все записи с интервалом в 10 минут. 10:00 - 10:30 - 11:00 и так далее
Veaceslav
Наверно можно. Мы пока что повангуем как же выглядит схема
Я то думал что понятно и так ... Выборка будет по одному полю который Date type.
Dezmunt
Вопрос, поменял схему в монгусе, и теперь пытаюсь сделать сохранение данных по другому полю, и появляется ошибка того поля что меня в схеме. До этого тип поля был строка, теперь объект
Сергей
Ребят, подскажите что делаю не так Мне нужно достать последний элемент в массиве и если его свойство value равно OrderStatus.сonfirmed то достать его Сейчас достает все элементы из коллекции
Eshu
Потому что вам попались именно такие тесты. Выбор базы в идеале зависит от задачи
Sergiy
это зависит от схемы данных и вида запросов. чем быстрее есть - вилкой или ложкой?
Sergey
Если рот большой то всегда и в любом случае быстрее ложкой🤣
Sergey
Точно)
Sergiy
Если рот большой то всегда и в любом случае быстрее ложкой🤣
спагети быстрее выйдет - накрутил на вилку все и - в большой рот
Eshu
спагети быстрее выйдет - накрутил на вилку все и - в большой рот
Руками всёравно быстрее. Ну и через край. Потому голосую за тарантула в споре монги и постгреса😂😂
Sergiy
Sergiy
а так, конечно - в ОЗУ хранить конечно быстрее будет обработка
Sergiy
про тесты кстати тоже такой нюанс есть - насколько знаю монга сильнее старается в озу все держать. в итоге реляционка тупит - на маленьких данных вот и выходит что на "Hello world" монга быстрее
Sergiy
а когда размеры горячих данных превышают в разы размеры озу, да еще агрегации в запросах, то и что быстрее ложка или вилка будет?
Eshu
Я когда гонял именно такой тест одного инстанса - mongodb vs postgres с SSD диском на базе в 130 гб получилось примерно одинаково по скорости, но монга съедала всю доступную оперативку и ЦПУ