ИТ Блог. Администрирование серверов на основе Linux (Ubuntu, Debian, CentOS, openSUSE)

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

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

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

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

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

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

 

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

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

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

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

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

 

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

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

 

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

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.asc | sudo apt-key add -

 

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

echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.4 main" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

 

Обновите свои локальные репозитории и установите пакет 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 и один из лучших способов начать работу.

 

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

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

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

pip install pymongo

 

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

>>> import pymongo

 

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

 

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

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

>>> from pymongo import MongoClient
>>> client = MongoClient(“localhost”, 27017)

 

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

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

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

 

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

 

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

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

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

>>> from pymongo import MongoClient
>>> client = MongoClient("localhost", 27017)
>>> database = client["test_database"]

 

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

>>> database = client.test_database

 

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

 

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

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

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

from pymongo import MongoClient

client = MongoClient("localhost", 27017)

database = client["movie_db"]

movies = database.movies

movie_ = {

"title": "Mr. Robot",

"Starring": "Rami Malek, Christian Slater, Carly Chaikin",

"created": "Sam Esmail",

"Year": "2016"

}

id = movies.insert_one(movie_).inserted_id

print(id)

 

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

5ff57066fee7e4e965f02267

 

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

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

>>> database.list_collection_names()

['movies']

Программисты очень эффективны – и ленивы ».

 

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

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

from pymongo import MongoClient

client = MongoClient("localhost", 27017)

database = client["movie_db"]

movies = database.movies

movies_ = [

{

“title”: “Mr. Robot,”

“Starring”: “Rami Malek, Christian Slater, Carly Chaikin,”

"created": "Sam Esmail",

“Year”: “2016.”

},

{

“title”: “The Big Bang Theory,”

“Starring”: “Jim Parsons, Kaley Cuoco, Johnny Galecki, Kunal Nayyar, Simon Helber, Mayim Bialik, Melissa Rauch,”

“Created”: “Chuck Lorre, Bill Prady,”

“Year”: “2007.”

},

{

"title": "Star Trek: Original Series",

“Starring”: “William Shatner, Leonard Nimoy, Nichelle Nicholas,”

"Created": "Gene Roddenberry",

“Year”: “1966.”

}

]

ids = movies.insert_many(movies_).inserted_ids

print(ids)

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

[ObjectId (‘5ff5749fbbc71282a634303d’), ObjectId (‘5ff5749fbbc71282a634303e’), ObjectId (‘5ff5749fbbc71282a634303f’)]

 

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

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

print(movies.find_one({"Created": "Gene Roddenberry"}))

 

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

{'_id': ObjectId('5ff57472e027b7cd22b1f2f4'), 'title': 'Star Trek: Original Series', 'Starring': 'William Shatner, Leonard Nimoy, Nichelle Nicholas,', 'Created': 'Gene Roddenbery', 'Year': '1966'}

 

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

 

Заключение

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

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

Exit mobile version