Анатолий
И это сиграло жестокую шутку
Анатолий
По этому и даю такие "советы"
Vladyslav
Хорошо, зайдем с другой стороны, как найти баланс между денормализацией и нормализацией ? Я немного практиковался с монгой, но 3 коллекции в одной из которой вложенность, я считаю, не считается. Допустим я хочу сделать интернет магазин. Простая версия, страница акций, новости, товары до 500 шт, допустим (категория и всё такое присутствует).
Vladyslav
Я не хайпонуть пришел в монго. Она мне понравилась и я бы хотел попроовать её заюзать, но заранее хочу обезопаситься
Анатолий
Это вопрос не пары предложений структура бд для магазина :)
Анатолий
Тут надо посидеть серьезней
yopp
Хорошо, зайдем с другой стороны, как найти баланс между денормализацией и нормализацией ? Я немного практиковался с монгой, но 3 коллекции в одной из которой вложенность, я считаю, не считается. Допустим я хочу сделать интернет магазин. Простая версия, страница акций, новости, товары до 500 шт, допустим (категория и всё такое присутствует).
В монге (как и в других документных бд) основной принцип проектирования документов — писать так, как вы будете потом читать
yopp
т.е. сводить по возможности к простому find с минимальными условиями и без трансофрмаций
yopp
но на ваших масштабах, делайте так, как вам будет удобнее
yopp
(а ещё лучше подумайте несколько раз, зачем вам писать интернет магазин, когда их готовых как грязи. не в магазине счастье, а в клиентах)
Vladyslav
Тут надо посидеть серьезней
Я так понимаю у тебя есть практика, если на сворганю структуру и прокину вам линку, будет ли у вас немного времени подсказать как было бы лучше и чем чревата моя структура ?
yopp
Не слушайте его
Vladyslav
Vladyslav
для себя
yopp
Если практика, тогда идите уже код писать
Vladyslav
я люблю заранее выучить и понять ошибки, еще до того, как попросят катить в прод
yopp
Нет ничего более продуктивного в обучении, чем набить шишек самому
yopp
Так это практика или вас в прод попросят катить это?
yopp
Если это практика, я повторю совет: перестаньте теоретизировать и «учить» и начните делать. Вы за пару дней получите больше опыта, чем за месяц зубрения
yopp
Предварительная оптимизация, в любых её проявлениях, это страшное зло
yopp
Make it work, make it right, make it fast
yopp
👍
yopp
приходите потом с конкретными вопросами
Vladyslav
Договорились )
Viktor
Хорошо, зайдем с другой стороны, как найти баланс между денормализацией и нормализацией ? Я немного практиковался с монгой, но 3 коллекции в одной из которой вложенность, я считаю, не считается. Допустим я хочу сделать интернет магазин. Простая версия, страница акций, новости, товары до 500 шт, допустим (категория и всё такое присутствует).
Я недавно по работе одной из команд вел презентацию по оптимизации производительности в монге. Затронул в частности денормализацию как один из инструментов, так вот моя идея в том, для начала нужно осознать, что нормализация и денормализация это не два противоположных процесса. При проектировании данные все равно нормализуются (хотя бы на бумаге) и только потом после каких-то прогонов на тестах/проде уже применяется денормализация в нужных местах.
Vladyslav
Vladyslav
Спасибо за подсказку
Petro
Вопросик, Есть поле - обьект workingHours: {
sunday: true,
monday: true,
tuesday: true,
}
как убрать поле в обьекте если оно false.
$$REMOVE не работает в project ( 'Use of undefined variable: REMOVE' )
Анатолий
https://docs.mongodb.com/manual/reference/operator/update/unset/
Petro
в aggregate, в project
Petro
а не update документа
Анатолий
В $project тебе надо указать новую структуру, укажи только те ключи которые тебе нужны
Petro
а мне нужны ключи в зависимости от того, какое значение имеет поле
Анатолий
По идее если в $project ключу указать 0, то оно будет исключено
Анатолий
REMOVE New in version 3.6.
Petro
$project: {
workingHours: {
sunday: {$cond: {$if:{$eq['$workingHours.sunday', false]}, then: 0, else: 1}}
}
}
Анатолий
Проверь версию
Petro
так?
Petro
так будут значение
Petro
Бля
Petro
Спасибо-_- 3.4. у меня
Petro
(facepalm)
Petro
в 3.4. есть способ такое сделать,
Petro
ладно, думаю проще в js посмотреть. Спасибо😉
Анатолий
Я когда в монге документацию читаю всегда переключаюсь на версию которая у меня, чтоб не было такого
️lefrotite
В MongoDB есть такой оператор, как $set, но который добавит новое поле к документам, но если такое поле уже там имеется, изменять его не будет?
yopp
️lefrotite
Понял. Благо
Анатолий
$exists: false не использует индексы, если что
Анатолий
Если поле важное, проще держать его в схеме с нейтральным значением
yopp
Анатолий
И?
yopp
Анатолий
Он переберет все индексы и будет смотреть есть ли такое поле, а если указать поле, допустим в false то он будет знать где искать это поле без полного перебора
Анатолий
Перебор индексов это не использование, это черти что
Анатолий
перебор всех индексов
yopp
Давайте вы в read-only посидите немного, с целью научиться внятно свои мысли излагать. Вы не советы даёте, а несёте какую-то чушь.
Анатолий
зануда
Anonymous
Приветствую
Андрей
привет всем
Anonymous
Как запустить сервер на винде?
️lefrotite
Anonymous
Anonymous
Монго выдает феил что компухтер не разрешает подключение
Андрей
для ленивых есть OpenServer
Андрей
там монга входит в состав модулей
yopp
Но вообще проще взять atlas, там есть бесплатный тариф
Андрей
или так
CHIP
yopp
https://github.com/heewa/mongotime
yopp
О какая клёвая штука
yopp
Снимает currentOp и собирает стату по запросам
Man of Culture
Ребят, доброе утро
Man of Culture
Никто не знает, как можно в mongoexport передать файлик в --query?
Man of Culture
кто-нибудь как-нибудь обходит то что нужно запрос прямо в коммандной строке писать ?
Arthur
Всем привет. Подскажите как узнать сколько монга использует оперативной памяти в текущий момент ?
Vlad
SvPupok
top
ну да, наверное самый простой способ