Урок 84. MongoDB и Python. Модули

📁 Блок: Базы данных и модули ⏱️ Время изучения: ~90 мин 🎯 Сложность: Средняя
#pass #close #find #sort #list #in #import #from #if #print #for #try #except #sum #len #max #def #return #reverse #finally #as #split #get

⚡ Кратко: суть темы

MongoDB и Python — работаем с документоориентированной базой данных через библиотеку pymongo: подключаемся, добавляем, читаем, обновляем и удаляем документы.

  • Устанавливаем pip install pymongo и подключаемся через MongoClient(...).
  • База и коллекция выбираются как client["db_name"] и db["collection_name"].
  • Документы — обычные Python-словари. CRUD-методы: insert_one, insert_many, find_one, find, update_one, update_many, delete_one, delete_many.
  • Обрабатывай ошибки через pymongo.errors, а не голый Exception.
  • Модуль — любой .py файл. Пакет — папка с модулями и __init__.py. Используй if __name__ == "__main__", чтобы код не выполнялся при импорте.

Что запомнить: MongoDB не требует заранее заданной схемы, но документы нужно правильно фильтровать словарями-условиями.

Частая ошибка: перепутать фильтр и проекцию в find() или забыть, что find() возвращает курсор, а не список.

📖 О чём этот урок

Реляционные базы данных хранят данные в таблицах со строгой структурой. MongoDB работает иначе: данные хранятся в документах — гибких JSON-подобных записях, которые удобно создавать и изменять из Python. В этом уроке мы научимся подключаться к MongoDB, выполнять CRUD-операции и правильно обрабатывать ошибки.

Также мы разберём, как устроены модули и пакеты в Python: зачем они нужны, как импортировать свои файлы и как собирать из них структурированные проекты.

Что изучим

  • Установку pymongo и подключение к MongoDB через MongoClient.
  • Выбор базы данных и коллекции.
  • Добавление документов: insert_one и insert_many.
  • Чтение документов: find_one, find, курсор, сортировка, пропуск, лимит и проекция.
  • Обновление документов: update_one, update_many, $set, $inc.
  • Удаление документов: delete_one и delete_many.
  • Обработку ошибок через исключения pymongo.errors.
  • Модули в Python: встроенные, сторонние и пользовательские.
  • Конструкцию if __name__ == "__main__" и папку __pycache__.
  • Пакеты: папки с __init__.py и относительные импорты.

📚 Что повторить перед изучением

🎯 Что изучать дальше