Python

Как создать базу данных в MongoDB с помощью Python

Как создать базу данных в MongoDB с помощью Python
Нет сомнений в том, что Python - мощный и популярный язык программирования, способный справиться с любым проектом, который мы реализуем. Он очень гибкий и может адаптироваться к различным средам разработки, таким как тестирование на проникновение, веб-разработка и машинное обучение.

В сочетании с крупными приложениями, такими как те, которым требуются базы данных, Python добавляет больше функций, и с ним может быть сложно работать, особенно для начинающих.

Python знает, что это дополнение предоставляет нам лучшие способы добавления баз данных в наши проекты без ущерба для нашего рабочего процесса, используя простую и интуитивно понятную базу данных NoSQL. Используя Python и популярную базу данных NoSQL, MongoDB, разработка становится более удобной и, в целом, увлекательной.

В этой статье будут рассмотрены различные концепции базы данных MongoDB, чтобы дать вам четкое представление о том, что это влечет за собой. После этого мы расскажем, как установить MongoDB в Linux, и покажем, как использовать Python для взаимодействия с MongoDB.

Приступим:

Базовое введение в MongoDB

MongoDB - это база данных с открытым исходным кодом, основанная на документах, которая обеспечивает высокую масштабируемость и гибкость. Как и большинство баз данных NoSQL, MongoDB использует JSON для хранения данных, что делает его одной из самых гибких и простых баз данных для работы, поскольку не требует схемы.

Благодаря его гибкости и простоте обучения разработчики часто используют MongoDB для больших проектов, требующих высокой скорости чтения и записи данных. Он поставляется с предустановленными драйверами для популярных языков программирования, что избавляет от необходимости изучать новые языки программирования перед его использованием.

ПРИМЕЧАНИЕ: Если вы не знакомы с концепцией баз данных SQL и NoSQL, ознакомьтесь с приведенным ниже ресурсом:

https: // www.mongodb.com / nosql-объяснено / nosql-vs-sql

Изучение работы с MongoDB - важный навык, в основном потому, что мы живем в мире, управляемом данными, где, как программист, вы будете работать с данными 90% времени, если не больше.

Приятно отметить, что MongoDB - это нечто большее, чем то, что мы рассмотрим в сегодняшнем руководстве. Рекомендуем проверить официальную документацию и внешние ресурсы, чтобы узнать больше.

Как установить MongoDB в Linux (Debian 10)

Давайте быстро рассмотрим, как установить MongoDB Community Edition на Debian 10.

ПРИМЕЧАНИЕ: Убедитесь, что вы удалили пакет MongoDB, поддерживаемый Debian, потому что это не официальный пакет MongoDB, и невозможность его удаления может конфликтовать с последней версией:

Во-первых, убедитесь, что ваша система обновлена, что вы можете сделать с помощью команды:

sudo apt-get update && sudo apt-get upgrade -y

Затем установите GnuPG и импортируйте открытый ключ репозитория MongoDB с помощью команды:

sudo apt-get install gnupg && wget -qO - https: // www.mongodb.org / static / pgp / server-4.4.по возрастанию | sudo apt-key добавить -

Добавить список файлов в источники.список.d с помощью команды:

echo "deb http: // репо.mongodb.org / apt / debian buster / mongodb-org / 4.4 main "| sudo tee / etc / apt / sources.список.d / mongodb-org-4.4.список

Обновите локальные репозитории и установите пакет mongodb-org.

sudo apt-get update && sudo apt-get install mongodb-org

После успешной установки MongoDB запустите службу с помощью системы следующим образом:

sudo systemctl start mongod

Вы также можете запустить оболочку mongo с помощью команды mongo

Как использовать Python для работы с MongoDB

Давайте теперь обсудим, как использовать Python для работы с MongoDB.

На этом этапе я предполагаю, что Python уже установлен и установлен в вашей системе.

Поскольку это краткое руководство для начинающих, а не исчерпывающее руководство по MongoDB, мы обсудим только основы использования PyMongo для взаимодействия с базой данных.

PyMongo

Мы рассмотрим стандартный метод взаимодействия с MongoDB, чтобы использовать официальный драйвер Python PyMongo. PyMongo - очень эффективный способ работы с Python и MongoDB и один из лучших способов начать работу.

ПРИМЕЧАНИЕ: Хотя это руководство по началу работы содержит множество деталей, вам следует изучить официальную документацию, чтобы узнать больше.

Вот несколько ресурсов для вашего рассмотрения:

https: // pymongo.читать.io / en / стабильный / индекс.html
https: // pypi.org / project / pymongo /
https: // документы.mongodb.com / drivers / pymongo

Как установить PyMongo

Как обычно, первое, что нам нужно сделать, это установить драйвер PyMongo в нашу среду Python; вы можете использовать conda или pip.

Для установки используйте команду:

pip install pymongo

Дождитесь завершения необходимых транзакций и успешного завершения установки PyMongo в вашей системе. Для подтверждения запустите интерактивную оболочку Python и выполните команду:

>>> импорт пимонго

Как только он запустится без ошибок, вы успешно установили PyMongo, и мы можем перейти к следующему разделу.

Как использовать PyMongo для подключения к MongoDB

Чтобы подключиться к MongoDB с помощью PyMongo, мы используем объект MongoClient и создаем экземпляр для mongod, основного процесса демона для MongoDB.

>>> из pymongo import MongoClient
>>> client = MongoClient («localhost», 27017)

Приведенный выше фрагмент кода импортирует объект MongoClient из PyMongo, а затем создает экземпляр клиента для mongod. Если вам не нужно указывать целевой хост и порт, вы можете оставить его пустым, установив таким образом соединение по умолчанию.

Вы также можете использовать формат URI MongoDB как:

>>> client = MongoClient ("mongodb: // localhost: 27017 /")

Оба эти метода будут делать одно и то же; это зависит только от того, что вы предпочитаете использовать в своем проекте.

Как создать базу данных с помощью PyMongo

Использование PyMong для создания базы данных в MongoDB относительно просто. Все, что вам нужно сделать, это запросить базу данных, и если она не существует, MongoDB создаст ее автоматически.

Рассмотрим код ниже:

>>> из pymongo import MongoClient
>>> client = MongoClient ("localhost", 27017)
>>> база данных = клиент ["test_database"]

Вы также можете использовать метод атрибута вместо метода словаря для доступа к базе данных.

>>> база данных = клиент.test_database

В отличие от других баз данных, в MongoDB база данных не создается полностью до тех пор, пока коллекции (данные) не будут сохранены - думайте о коллекциях как о таблицах в базах данных SQL.

Как вставить документы в базу данных

Как упоминалось в начале этого руководства, MongoDB хранит данные в виде документов JSON, хранящихся в коллекции - думайте о документах как о строках в базах данных SQL.

В PyMongo мы используем словари Python для представления документа. Рассмотрим следующий пример кода:

из pymongo import MongoClient
client = MongoClient ("localhost", 27017)
база данных = клиент ["movie_db"]
фильмы = база данных.кино
movie_ =
"title": "Мистер. Робот »,
«В ролях»: «Рами Малек, Кристиан Слейтер, Карли Чайкин»,
"created": "Сэм Эсмаил",
«Год»: «2016»

id = фильмы.insert_one (фильм_).Insert_id
печать (идентификатор)

Этот код должен напечатать идентификатор, как показано:

5ff57066fee7e4e965f02267

Когда мы создаем новый документ и добавляем его в коллекцию, создается специальный ключ или _id. Значение идентификатора должно быть уникальным в заданной коллекции.

Мы можем проверить, что база данных, коллекция и документ существуют, используя простой запрос.

>>> база данных.list_collection_names ()
['кино']

Программисты просто эффективны и ленивы.

Из-за этого наклона по умолчанию мы также можем использовать метод insert_many () для добавления нескольких документов вместо одного документа с помощью метода insert_one ().

Рассмотрим код ниже:

из pymongo import MongoClient
client = MongoClient ("localhost", 27017)
база данных = клиент ["movie_db"]
фильмы = база данных.кино
movies_ = [

«Title»: «Мистер. Робот »
«В ролях»: «Рами Малек, Кристиан Слейтер, Карли Чайкин»,
"created": "Сэм Эсмаил",
«Год»: «2016.”
,

«Title»: «Теория большого взрыва»,
«В ролях»: «Джим Парсонс, Кейли Куоко, Джонни Галецки, Кунал Найяр, Саймон Хелбер, Майим Бялик, Мелисса Раух»,
«Создано»: «Чак Лорре, Билл Прейди»,
«Год»: «2007 г.”
,

"title": "Звездный путь: Оригинальный сериал",
«В ролях»: «Уильям Шатнер, Леонард Нимой, Нишель Николас»
«Создано»: «Джин Родденберри»,
«Год»: «1966 г.”

]
ids = фильмы.insert_many (фильмы_).Insert_ids
печать (идентификаторы)

Это должно дать вам _ids вставленного документа, как показано ниже:

[ObjectId ('5ff5749fbbc71282a634303d'), ObjectId ('5ff5749fbbc71282a634303e'), ObjectId ('5ff5749fbbc71282a634303f')]

Как получить документы

Получить документы из коллекции также очень просто, и с помощью метода find_one () мы можем сделать это в одной строке кода. Рассмотрим пример ниже, чтобы собрать фильмы Джина Родденберри.

печать (фильмы.find_one ("Создано": "Джин Родденберри"))

Это должно получить все фильмы, созданные Джином Родденберри в этой базе данных.

'_id': ObjectId ('5ff57472e027b7cd22b1f2f4'), 'title': 'Звездный путь: Оригинальный сериал', 'В ролях': 'Уильям Шатнер, Леонард Нимой, Нишель Николас', 'Создано': 'Джин Родденбери', ' Год ':' 1966 '

Вы можете посмотреть графическое отображение базы данных и коллекций. Вот скриншот, сделанный из MongoDB Compass в Windows.

Заключение

Чтобы эффективно использовать язык программирования Python при работе с базами данных, вам понадобится гибкая и эффективная база данных для вашего проекта. MongoDB - правильный выбор. Не путайте это с тем, что MongoDB - лучший выбор для баз данных. У него есть недостатки, но он также является идеальным выбором для большинства случаев использования.

Это руководство предоставило вам все необходимое, чтобы начать экспериментировать с базами данных на выбранном вами языке.

На прощание подумайте о прочтении документации и руководств, чтобы лучше понять эту конкретную тему.

Лучшие эмуляторы игровой консоли для Linux
В этой статье будет перечислено популярное программное обеспечение для эмуляции игровых консолей, доступное для Linux. Эмуляция - это уровень совмести...
Лучшие дистрибутивы Linux для игр в 2021 году
Операционная система Linux прошла долгий путь от своего первоначального простого серверного вида. Эта ОС значительно улучшилась за последние годы и те...
Как записать и транслировать игровую сессию в Linux
В прошлом игры считались только хобби, но со временем игровая индустрия увидела огромный рост с точки зрения технологий и количества игроков. Игровая ...