Перейти к содержимому

Начало работы с MongoDB

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

Что такое MongoDB?

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

Установка MongoDB

Прежде чем приступить к работе с MongoDB, необходимо установить её на вашу систему. Вот шаги для этого:

  1. Перейдите на официальный сайт MongoDB и скачайте последнюю версию для вашей операционной системы.
  2. Следуйте инструкциям по установке, приведенным на сайте.
  3. После завершения установки убедитесь, что сервер MongoDB запущен, выполнив следующую команду в терминале или командной строке:

console
mongod

Примечание: Для локальной разработки запускайте mongod в фоновом режиме (например, mongod --fork в Linux/macOS или mongod & в Windows) или используйте Docker, чтобы не блокировать терминал.

Подключение к MongoDB

Чтобы подключиться к MongoDB из Python, необходимо установить библиотеку pymongo. Вот шаги для этого:

  1. Откройте терминал или командную строку и выполните следующую команду:

console
pip install pymongo
  1. После завершения установки вы можете подключиться к MongoDB, выполнив следующий код:

Подключение к MongoDB в Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

Создание базы данных

В MongoDB базы данных создаются неявно при первом обращении к ним или вставке данных. Вот пример:

Создание новой базы данных в MongoDB с помощью Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")

mydb = client["mydatabase"]

Создание коллекции

Аналогичным образом коллекции создаются неявно при первой вставке в них документа. Вот пример:

Создание новой коллекции в MongoDB с помощью Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = client["mydatabase"]

mycol = mydb["customers"]

Вставка данных

Для вставки данных в коллекцию в MongoDB можно использовать метод insert_one(). Вот пример:

Вставка данных в коллекцию в MongoDB в Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = client["mydatabase"]
mycol = mydb["customers"]

mydict = { "name": "John", "address": "Highway 37" }

x = mycol.insert_one(mydict)

print(x.inserted_id)

Запрос данных

Для запроса данных из коллекции в MongoDB можно использовать метод find(). Вот пример:

Запрос данных из коллекции в MongoDB в Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = client["mydatabase"]
mycol = mydb["customers"]

for x in mycol.find():
  print(x)

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

Для обновления данных в коллекции в MongoDB можно использовать метод update_one(). Вот пример:

Обновление данных в коллекции в MongoDB в Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = client["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Highway 37" }
newvalues = { "$set": { "address": "Canyon 123" } }

mycol.update_one(myquery, newvalues)

for x in mycol.find():
  print(x)

Удаление данных

Для удаления данных из коллекции в MongoDB можно использовать методы delete_one() или delete_many(). Вот пример:

Удаление данных из коллекции в MongoDB в Python

python
import pymongo

client = pymongo.MongoClient("mongodb://localhost:27017/")
mydb = client["mydatabase"]
mycol = mydb["customers"]

myquery = { "address": "Highway 37" }

mycol.delete_one(myquery)

for x in mycol.find():
  print(x)

Заключение

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

Считаете ли это полезным?

Предпросмотр dual-run — сравните с маршрутами Symfony на продакшене.