MongoDB Python | Работа с (NoSQL) базой данных | PyMongo, Motor

YOUTUBE · 30.11.2025 06:20

Ключевые темы и таймкоды

Введение в курс по PyMongo

0:00
  • Курс обновлен для создания экономического бота для Telegram.
  • PyMongo использует принцип NoSQL, что упрощает работу с базой данных.
  • Курс покажет основы работы с PyMongo, а не все методы.

Регистрация и настройка MongoDB

0:26
  • Регистрация на сайте MongoDB и выбор бесплатного сервера.
  • Создание пользователя для базы данных и добавление IP-адреса в белый список.
  • Установка модулей PyMongo и Motor для асинхронной работы с базой данных.

Создание базы данных и коллекции

1:35
  • Создание базы данных и коллекции в MongoDB.
  • Импорт класса MongoClient и инициализация переменной кластера.
  • Создание переменной коллекции и указание названия базы данных и коллекции.

Работа с данными в PyMongo

2:53
  • Создание словаря с данными для пользователя.
  • Вставка данных в коллекцию с помощью метода insert.
  • Проверка уникальности ключа и обновление данных при необходимости.

Проверка существования данных и обновление

5:26
  • Проверка существования данных с помощью метода exists.
  • Обновление данных в коллекции с использованием метода update.
  • Применение модификаторов для удаления и изменения данных.

Работа с методами update_many и delete_many

9:02
  • Создание списка имен пользователей и заполнение коллекции.
  • Использование цикла для обновления данных в коллекции.
  • Применение методов update_many и delete_many для работы с данными.

Генерация случайных данных

10:25
  • Импортируем функцию random.randint для генерации случайного возраста от 16 до 26 лет.
  • Обновляем баланс пользователей от 0 до 2000.
  • Добавляем данные в переменную data с помощью метода append.
  • Вставляем данные в коллекцию с помощью метода insert_many.

Исправление ошибки и проверка данных

11:12
  • Исправляем ошибку, передавая словарь.
  • Проверяем данные: Джерри 20 лет, Джон 19 лет, Джет 24 года, Лето 16 лет.
  • Инвентарь у всех пользователей одинаковый, можно изменить с помощью метода deepcopy.

Обновление данных

11:51
  • Обновляем баланс пользователей старше 18 лет на 5000 долларов.
  • Используем метод update_many с фильтром по возрасту.
  • Проверяем результат: Джерри получил 5000 долларов, Лето нет.

Поиск данных

13:02
  • Создаем переменную data и используем метод find_one для поиска одной записи.
  • Используем метод find для поиска всех записей в коллекции.
  • Проверяем результат: выводим имена всех пользователей.

Работа с асинхронными функциями

14:26
  • Импортируем asyncio и создаем асинхронную функцию main.
  • Внутри функции используем метод find_one для получения первой записи.
  • Проверяем результат: получаем первую запись Джерри.

Заключение

15:07
  • Методы работы асинхронного движка не отличаются от обычного.
  • Благодарность за просмотр, призыв ставить лайки и подписываться на канал.