Python: bases de datos NoSQL

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.

Insertar datos

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')}

Actualizando datos

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')}

Borrando datos

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.

🚫