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