A medida que más y más datos están disponibles como no estructurados o semiestructurados, aumenta la necesidad de administrarlos a través de una base de datos NoSql. Python también puede interactuar con bases de datos NoSQL de la misma forma que con bases de datos relacionales. En este capÃtulo, usaremos Python para interactuar con MongoDB como una base de datos NoSQL. Si es nuevo en MongoDB, puede explorarlo en nuestro tutorial aquÃ.
Para conectarse a MongoDB, Python usa una biblioteca conocida como pimongo… Puede agregar esta biblioteca a su entorno Python usando el siguiente comando desde el entorno Anaconda.
conda install pymongo
Esta biblioteca permite que Python se conecte a MOngoDB usando el cliente db. Una vez conectado, seleccionamos un nombre de base de datos que se utilizará para diversas operaciones.
Para insertar datos en MongoDB, usamos el método insert () que está disponible en el entorno de la base de datos. Primero nos conectamos a la base de datos usando el código Python que se muestra a continuación y luego proporcionamos la información del documento como una serie de pares clave-valor.
# 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)
Cuando ejecutamos el código anterior, da el siguiente resultado.
{u'Address': u'Sears Streer, NZ', u'Age': u'42', u'Name': u'Raj Kumar', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}
Actualizar datos de MongoDB existentes es similar a insertar archivos. Estamos usando el método update (), que es nativo de mongoDB. En el siguiente código, reemplazamos el registro existente con nuevos pares clave-valor. Observe cómo usamos los criterios de condición para decidir qué registro actualizar.
# 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)
Cuando ejecutamos el código anterior, da el siguiente resultado.
{u'Address': u'New Omsk, WC', u'Age': u'35', u'Name': u'Srinidhi', u'_id': ObjectId('5adc5a9f84e7cd3940399f93')}
Eliminar una entrada también es fácil cuando usamos el método de eliminación. Aquà también mencionamos la condición que se usa para seleccionar el registro a eliminar.
# 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)
Cuando ejecutamos el código anterior, da el siguiente resultado.
None
Entonces, podemos ver que el registro en particular ya no existe en la base de datos.
🚫