Python MongoDB

MongoDB — одна из самых популярных в настоящее время баз данных NoSQL, использующая тип данных BSON (похожий на JSON).

Чтобы ознакомиться с установкой и введением в базу данных MongoDB, вы можете обратиться к нашемуруководству по MongoDB.


PyMongo

Чтобы подключить Python к MongoDB, нужен драйвер MongoDB. Здесь мы используем драйвер PyMongo для подключения.

Установка через pip

pip — это универсальный инструмент управления пакетами Python, который предоставляет функции поиска, загрузки, установки и удаления пакетов Python.

Установите pymongo:

$ python3 -m pip3 install pymongo

Также можно указать версию для установки:

$ python3 -m pip3 install pymongo==3.5.1

Команда обновления pymongo:

$ python3 -m pip3 install --upgrade pymongo

Установка easy_install

Более старые версии Python могут использовать easy_install для установки; easy_install также является инструментом управления пакетами Python.

$ python -m easy_install pymongo

Команда обновления pymongo:

$ python -m easy_install -U pymongo

Тестирование PyMongo

Далее мы можем создать тестовый файл demo_test_mongodb.py со следующим кодом:

Код файла demo_test_mongodb.py:

#!/usr/bin/python3 import pymongo

Выполните указанный выше файл с кодом. Если ошибок не возникнет, установка прошла успешно.


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

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

Чтобы создать базу данных, необходимо использовать объект MongoClient и указать URL-адрес подключения и имя создаваемой базы данных.

В следующем примере мы создаём базу данных exampledb:

Пример

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["exampledb"]

Примечание:В MongoDB база данных создаётся только после вставки содержимого! То есть после создания базы данных необходимо создать коллекцию (таблицу данных) и вставить документ (запись), прежде чем база данных будет фактически создана.

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

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

Пример

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') dblist = myclient.list_database_names() # dblist = myclient.database_names() if "exampledb" in dblist: print("База данных уже существует!")

Примечание:database_names устарел в последней версии Python. Начиная с Python 3.7+, он был изменён на list_database_names().


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

Коллекции в MongoDB похожи на таблицы в SQL.

Создать коллекцию

MongoDB использует объекты базы данных для создания коллекций, как показано в примере ниже:

Пример

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["exampledb"] mycol = mydb["sites"]

Примечание:В MongoDB коллекция создаётся только после вставки содержимого! То есть после создания коллекции (таблицы данных) необходимо вставить документ (запись), прежде чем коллекция будет фактически создана.

Определить, существует ли коллекция

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

Пример

#!/usr/bin/python3 import pymongo myclient = pymongo.MongoClient('mongodb://localhost:27017/') mydb = myclient['exampledb'] collist = mydb. list_collection_names() # collist = mydb.collection_names() if "sites" in collist: # Определить, существует ли коллекция sites print("Коллекция уже существует!")

Примечание:collection_names устарел в последней версии Python. Начиная с Python 3.7+, он был изменён на list_collection_names().


Операции, такие как добавление, удаление, обновление и запрос

В следующей таблице перечислены дополнительные операции MongoDB. Щёлкните конкретную ссылку для получения подробной информации:

Порядковый номер Функция
1 Добавить данные
2 Запросить данные
3 Изменение данных
4 Сортировка данных
5 Удаление данных
Другие расширения