MongoDB — документоориентированная система управления базами данных, не требующая описания схемы таблиц. Классифицирована как NoSQL, использует JSON-подобные документы и схему базы данных. Нет необходимости переводить данные в колоночный формат — в MongoDB можем сохранить словарь.
Настраиваем MongoDB Atlas — это полностью управляемая облачная версия базы данных. Для использования облачного сервиса MongoDB, нужна учетная запись MongoDB Atlas. Переходим на домашнюю страницу и нажимаем кнопку Start free.
Заполняем короткую регистрационную форму.
Выбираем создание бесплатного кластера.
В первом разделе необходимо выбрать облачного провайдера AWS и регион Frankfurt, регион выбираем ближайший к нам. В разделе Cluster Tier выберите параметр M0, чтобы создать кластер бесплатного уровня. С объемом 512 МБ пространства для хранения данных. И в разделе Cluster Name указываем имя кластера. Жмем на кнопку Create Cluster, создание кластера займет около пяти минут.
Настраиваем кластер. В разделе Database Access создаем нового пользователя, нажав кнопку Add new user. В появившемся диалоговом окне создадим имя пользователя и пароль, выбираем Read and write to any database и жмем кнопку Add User.
Затем в разделе Network Access нажимаем кнопку ADD IP ADDRESS, и в появившемся окне выбираем ALLOW ACCESS FROM ANYWHERE, за неимением статического IP-адреса, разрешаем доступ со всех IP адресов. Для добавления записи нажимаем кнопку Confirm.
Подключаемся к базе при помощи Compass — это графический интерфейс для MongoDB. Установим Compass для своей операционной системы.
Пока Compass устанавливается в MongoDB Atlas в разделе Clusters жмем кнопку CONNECT и в появившемся окне выбираем Connect with MongoDB Compass.
В следующем окне копируем подключение нажав кнопку Copy и открываем сам Compass.
При открытии Compass должен будет спросить "подставить скопированные значения", выбираем Yes, останется ввести только пароль и нажать кнопку CONNECT.
Чтобы иметь возможность взаимодействовать с кластером MongoDB Atlas, из Python должен быть установлен пакет PyMongo, с помощью модуля pip, командой pip install pymongo[srv].
Для проверки работы подключимся к созданному кластеру MongoDB из консоли.
В MongoDB Atlas жмем кнопку CONNECT и в появившемся окне выбираем Connect Your Application.
В следующем окне копируем строку подключения нажав кнопку Copy.
В PyCharm открываем Python Console и набираем следующие строки кода.
Результат можем посмотреть в графическом интерфейсе MongoDB Compass, предварительно обновив приложение. Создалась база данных test, коллекция chats и данные переданные в нее.
В следующей статье добавим Telegram боту возможность сохранения данных.
Предыдущие статьи из серии Python Telegram Bot:
12. Добавим Telegram боту emoji.
11. Учим Telegram бота отправлять картинки пользователю.
10. Создадим журнал событий работы Telegram бота.
9. Выстраиваем диалог между пользователем и Telegram ботом.
8. Рефакторинг кода Telegram бота.
7. Telegram бот запрашивает местоположение и контакты пользователя.
6. Добавим клавиатуру и научим Telegram бота рассказывать анекдоты.
5. Выкладываем код Telegram бота на GitHub.
4. Учим Telegram бота обрабатывать текстовые сообщения.
3. Научим Telegram бота сообщать о его запуске и здороваться.