Чтобы создать коллекцию в базе данных MongoDB на языке Python с помощью PyMongo:
- Создайте клиента для экземпляра MongoDB.
- Сообщите клиенту имя базы данных. Он возвращает ссылку на базу данных.
- Укажите имя вашей новой коллекции в качестве индекса ссылки на базу данных. Он возвращает ссылку на коллекцию. Когда вы впервые вставляете документ в коллекцию, новая коллекция создается неявно.
Пример 1
В следующей программе мы создали коллекцию с именем testers.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
#use database named "organisation"
mydb = myclient["organisation"]
#new collection named "testers"
mycol = mydb["testers"]
Примечание. Коллекция фактически создается, когда в ней есть контент. Итак, только когда в коллекции есть хотя бы один документ, вы можете увидеть, что она создается при запуске функции list_collection_names().
В следующем примере мы создали коллекцию, вставили документ и затем перечислили.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
#use database named "organisation"
mydb = myclient["organisation"]
#use collection named "testers"
mycol = mydb["testers"]
#a document
tester = { "name": "Saranya", "address": "Kochi" }
#insert a document to the collection
x = mycol.insert_one(tester)
print("List of Collections\n--------------------")
#list the collections
for coll in mydb.list_collection_names():
print(coll)

На приведенном выше снимке экрана мы запустили программу в python для вывода списка коллекций, присутствующих в экземпляре MongoDB. Затем мы запустили указанную выше программу, в которой создали коллекцию mongodb и вставили в нее документ.
Удаление коллекции
Чтобы удалить коллекцию на языке Python, мы будем использовать PyMongo. Выполните следующие действия, чтобы удалить конкретную коллекцию:
- Создайте клиента для экземпляра MongoDB.
- Выберите базу данных с помощью клиентского объекта. Предполагается, что коллекция, которую мы собираемся удалить, присутствует в этой базе данных.
- Выберите коллекцию, используя объект базы данных.
- Используйте функцию drop() для объекта коллекции, чтобы полностью удалить указанную коллекцию из базы данных.
Пример
В следующем примере мы удалим коллекцию разработчиков. Также для понимания распечатаем список коллекций, присутствующих в базе данных до и после удаления коллекции.
import pymongo
myclient = pymongo.MongoClient("mongodb://localhost:27017/")
#use database named "organisation"
mydb = myclient["organisation"]
print("List of collections before deletion\n--------------------------")
for x in mydb.list_collection_names():
print(x)
#get collection named "developers"
mycol = mydb["developers"]
#delete or drop collection
mycol.drop()
print("\nList of collections after deletion\n--------------------------")
for x in mydb.list_collection_names():
print(x)
