Operaciones MongoDB CRUD con Python(Pymongo)

PyMongo es una distribución de Python que contiene herramientas para trabajar con MongoDB. Entonces, en esta publicación de blog, veamos algunos métodos básicos que realizan operaciones CRUD en una colección. insert_one(), insert_many(), find_one(), find(), update(), delete(), ...

Yo, Conectar y Crear Base de Datos

import pymongo  
  
myclient = pymongo.MongoClient("mongodb://localhost:27017/")  
mydb = myclient["mydatabase"]  
mycol = mydb["mytable"]

II, Crear, Escribir

1, insertar()

se puede utilizar para insertar 1 o más registros.

myclient = pymongo.MongoClient("mongodb://localhost:27017/")  
mydb = myclient["mydatabase"]  
mycol = mydb["users"]  
  
# insert single user  
mycol.insert({ "username": "aaa", "pass": "123456" })  
  
# insert many users  
mycol.insert([{ "username": "bbb", "pass": "123456" }, { "username": "ccc", "pass": "123456" }])

el método insert() devuelve

# insert single user  
ObjectId('5fbe1c17242098c02a7f4ecb')  
  
# insert many users  
[ObjectId('5fbe1c17242098c02a7f4ecb'), ObjectId('5fbe1c63fa9741631f6a1f6c')]

2, insertar_uno()

inserta un único registro en una base de datos

mycol.insert_one({ "username": "aaa", "pass": "123456" })

3, insertar_muchos()

inserta varios registros en una colección

mycol.insert_many([  
    { "username": "aaa", "pass": "123456" },  
    { "username": "bbb", "pass": "123456" },  
    { "username": "ccc", "pass": "123456" }  
])

III, Actualización

1, actualizar()

myquery = { "username": "aaa" }  
newvalues = { "$set": { "username": "ddd" } }  
  
mycol.update(myquery, newvalues)

2, actualizar_uno()

myquery = { "username": "aaa" }  
newvalues = { "$set": { "username": "ddd" } }  
  
mycol.update_one(myquery, newvalues)

3, actualizar_muchos()

myquery = { "username": "aaa" }  
newvalues = { "$set": { "username": "ddd" } }  
  
mycol.update_many(myquery, newvalues)

4, reemplazar_uno()

myquery = { "username": "aaa" }  
newvalues = { "username": "ddd" }  
  
mycol.replace_one(myquery, newvalues)

IV, Seleccionar datos, Leer, Buscar, Buscar, Ordenar

1, encontrar()

devuelve todos los registros

mycol.find()  
# return  
<pymongo.cursor.Cursor object at 0x7f8fc1878890>

2, encontrar_uno()

devolver el primer registro

mycol.find_one()  
  
# return   
{'id': ObjectId('5fbe1c17242098c02a7f4ecb'), 'username': 'aaa',  'pass': '123456'}

3, filtro

myquery = { "username": "aaa" }   
mydoc = mycol.find(myquery)  
  
for x in mydoc:  
  print(x)

encontrar todos los registros cuyo nombre de usuario comience con 'a'

myquery = { "username": { "$gt": "a" } }  
mydoc = mycol.find(myquery)  
  
for x in mydoc:  
  print(x)

4, ordenar

ASC

mydoc = mycol.find().sort("username", 1)

DESC

mydoc = mycol.find().sort("username", -1)

5, límite

users = mycol.find().limit(5)

Borrar

1, eliminar_uno()

mycol.delete_one({ "username": "aaa" })

2, eliminar_muchos()

mycol.delete_many({ "username": "aaa" })