Поскольку все больше и больше данных становятся доступными как неструктурированные или полуструктурированные, потребность в управлении ими через базу данных NoSql возрастает. Python также может взаимодействовать с базами данных NoSQL аналогично взаимодействию с реляционными базами данных. В этой главе мы будем использовать python для взаимодействия с MongoDB в качестве базы данных NoSQL. Если вы новичок в MongoDB, вы можете узнать об этом в нашем уроке здесь.
Чтобы подключиться к MongoDB, python использует библиотеку, известную как pymongo . Вы можете добавить эту библиотеку в свою среду Python, используя приведенную ниже команду из среды Anaconda.
conda install pymongo
Эта библиотека позволяет Python подключаться к MOngoDB с помощью клиента db. После подключения мы выбираем имя БД, которое будет использоваться для различных операций.
Вставка данных
Для вставки данных в MongoDB мы используем метод insert (), который доступен в среде базы данных. Сначала мы подключаемся к базе данных, используя код Python, показанный ниже, а затем предоставляем детали документа в виде серии пар ключ-значение.
# Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to the test db db=client.test # Use the employee collection employee = db.employee employee_details = { 'Name': 'Raj Kumar', 'Address': 'Sears Streer, NZ', 'Age': '42' } # Use the insert method result = employee.insert_one(employee_details) # Query for the inserted document. Queryresult = employee.find_one({'Age': '42'}) pprint(Queryresult)
Когда мы выполняем приведенный выше код, он дает следующий результат.
{u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}
Обновление данных
Обновление существующих данных MongoDB похоже на вставку. Мы используем метод update (), который является родным для mongoDB. В приведенном ниже коде мы заменяем существующую запись новыми парами ключ-значение. Обратите внимание, как мы используем критерии условия, чтобы решить, какую запись обновить.
# Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the update method db.employee.update_one( {"Age":'42'}, { "$set": { "Name":"Srinidhi", "Age":'35', "Address":"New Omsk, WC" } } ) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult)
Когда мы выполняем приведенный выше код, он дает следующий результат.
{u'Address': u'New Omsk, WC', u'Age': u'35', u'Name': u'Srinidhi', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}
Удаление данных
Удаление записи также просто, когда мы используем метод удаления. Здесь также упоминается условие, которое используется для выбора записи, которая будет удалена.
# Import the python libraries from pymongo import MongoClient from pprint import pprint # Choose the appropriate client client = MongoClient() # Connect to db db=client.test employee = db.employee # Use the condition to choose the record # and use the delete method db.employee.delete_one({"Age":'35'}) Queryresult = employee.find_one({'Age':'35'}) pprint(Queryresult)
Когда мы выполняем приведенный выше код, он дает следующий результат.
None
Итак, мы видим, что конкретная запись больше не существует в БД.