Шаг 1
Как установить MongoDB на Ubuntu 16.04
Ubuntu 16.04 — устаревший релиз, поэтому для нового проекта лучше не ставить на нее MongoDB, а обновить сервер до поддерживаемой Ubuntu. Если у вас старый…
Учебное направление
Уроки MongoDB: установка, коллекции, документы, CRUD, индексы, агрегации, Mongoose, резервное копирование и оптимизация запросов. Материалы выстроены от первого знакомства до практических задач и следующего уровня.
Быстрый выбор
Выберите первую задачу и переходите к инструкции.
Ubuntu 16.04 — устаревший релиз, поэтому для нового проекта лучше не ставить на нее MongoDB, а обновить сервер до поддерживаемой Ubuntu. Если…
Чтобы ускорить запросы в MongoDB, начните с конкретного медленного запроса и проверьте его через explain("executionStats"). После этого добавляйте индекс, уменьшайте набор полей…
Если ActiveRecord MongoDB отдает массивы вместо моделей, чаще всего причина в asArray(), использовании низкоуровневого запроса к коллекции или неправильной модели. Для Yii2…
После применения $setUnion в MongoDB не стоит рассчитывать на исходный порядок элементов. $setUnion нужен, чтобы объединить массивы и убрать повторяющиеся значения. Если…
Миграции в связке Django и MongoDB нужно делать по выбранному стеку. Если вы используете официальный Django MongoDB Backend, ориентируйтесь на его документацию…
Чтобы подключиться к MongoDB удаленно, нужно настроить сетевой доступ к серверу, разрешить MongoDB слушать нужный интерфейс, создать пользователя, открыть порт только для…
Маршрут обучения
Шаг 1
Ubuntu 16.04 — устаревший релиз, поэтому для нового проекта лучше не ставить на нее MongoDB, а обновить сервер до поддерживаемой Ubuntu. Если у вас старый…
Шаг 2
Чтобы ускорить запросы в MongoDB, начните с конкретного медленного запроса и проверьте его через explain("executionStats"). После этого добавляйте индекс, уменьшайте набор полей через projection, используйте…
Шаг 3
Если ActiveRecord MongoDB отдает массивы вместо моделей, чаще всего причина в asArray(), использовании низкоуровневого запроса к коллекции или неправильной модели. Для Yii2 MongoDB ActiveRecord результат…
Шаг 4
После применения $setUnion в MongoDB не стоит рассчитывать на исходный порядок элементов. $setUnion нужен, чтобы объединить массивы и убрать повторяющиеся значения. Если после этого нужен…
Шаг 5
Миграции в связке Django и MongoDB нужно делать по выбранному стеку. Если вы используете официальный Django MongoDB Backend, ориентируйтесь на его документацию и обычную логику…
Учебные дорожки
Сгруппированные материалы для последовательного изучения.
Маршрут 1
Маршрут 2
Маршрут 3
Самопроверка
Материалы рубрики
Ubuntu 16.04 — устаревший релиз, поэтому для нового проекта лучше не ставить на нее MongoDB, а обновить сервер до поддерживаемой Ubuntu. Если у вас старый сервер и нужно восстановить или обслужить существующую систему,…
Чтобы ускорить запросы в MongoDB, начните с конкретного медленного запроса и проверьте его через explain("executionStats"). После этого добавляйте индекс, уменьшайте набор полей через projection, используйте limit, убирайте лишние запросы в цикле и проверяйте…
Если ActiveRecord MongoDB отдает массивы вместо моделей, чаще всего причина в asArray(), использовании низкоуровневого запроса к коллекции или неправильной модели. Для Yii2 MongoDB ActiveRecord результат Model::find()->all() должен возвращать объекты модели, если вы не…
После применения $setUnion в MongoDB не стоит рассчитывать на исходный порядок элементов. $setUnion нужен, чтобы объединить массивы и убрать повторяющиеся значения. Если после этого нужен стабильный порядок, добавьте отдельную сортировку. В современных версиях…
Миграции в связке Django и MongoDB нужно делать по выбранному стеку. Если вы используете официальный Django MongoDB Backend, ориентируйтесь на его документацию и обычную логику Django-проекта. Если используете MongoEngine или прямой PyMongo, миграции…
Чтобы подключиться к MongoDB удаленно, нужно настроить сетевой доступ к серверу, разрешить MongoDB слушать нужный интерфейс, создать пользователя, открыть порт только для доверенного IP и проверить подключение через mongosh. Не открывайте MongoDB в…
Чтобы подключить Telegram-бота к MongoDB, создайте MongoDB-клиент один раз при старте бота, выберите базу и коллекцию, а в обработчиках команд записывайте или читайте документы. Если бот асинхронный, используйте асинхронный подход, чтобы запросы к…
MongoDB оптимизируют не абстрактно, а от конкретного медленного запроса. Сначала найдите запрос, затем посмотрите explain("executionStats"), после этого добавляйте индекс, меняйте сортировку, projection или структуру данных. Без измерения легко создать лишние индексы и не…
Лучший способ реализовать структуру в MongoDB — начать не с коллекций, а с вопросов: какие данные читаются вместе, какие часто обновляются, что может бесконечно расти и какие фильтры будут в интерфейсе. MongoDB хорошо…
Чтобы импортировать JSON в MongoDB, используйте mongoimport из MongoDB Database Tools. Главное — понять формат файла: это может быть массив JSON-документов или формат JSON Lines, где каждый документ идет отдельной строкой. От этого…