PyMongo Tutorial
Empezando con PyMongo
Buscar..
Observaciones
Esta sección proporciona una descripción general de qué es pymongo y por qué un desarrollador puede querer usarlo.
También debe mencionar cualquier tema grande dentro de pymongo, y vincular a los temas relacionados. Dado que la Documentación para pymongo es nueva, es posible que deba crear versiones iniciales de esos temas relacionados.
Instalación o configuración
Instrucciones detalladas sobre cómo configurar o instalar pymongo.
Instalar con pip
Para instalar pymongo por primera vez:
pip install pymongo
Instalando una versión específica de pymongo:
Donde XXX es la versión a instalar.
pip install pymongo==XXX
Actualizando pymongo existente:
pip install --upgrade pymongo
Instalar con easy_install
Para instalar pymongo por primera vez:
python -m easy_install pymongo
Actualizando pymongo existente:
python -m easy_install -U pymongo
Hola Mundo
PyMongo es un controlador nativo de Python para MongoDB.
Instalar PyMongo
pip install pymongo
Crear una conexión
Utilice MongoClient para crear una conexión. MongoClient utiliza de forma predeterminada la instancia de MongoDB que se ejecuta en localhost:27017
si no se especifica.
from pymongo import MongoClient
client = MongoClient()
Acceder a objetos de base de datos
La clase Base de datos de PyMongo representa la construcción de la base de datos en MongoDB. Las bases de datos contienen grupos de colecciones lógicamente relacionadas.
db = client.mydb
Acceder a objetos de colección
La clase Colección de PyMongo representa la construcción de colección en MongoDB. Las colecciones contienen grupos de documentos relacionados.
col = db.mycollection
MongoDB crea nuevas bases de datos y colecciones implícitamente en el primer uso.
Funcionamiento básico de CRUD
MongoDB almacena los registros de datos como documentos BSON . BSON es la representación binaria de JSON.
$ python
>>> from pymongo import MongoClient
>>> client = MongoClient()
>>> col = client.mydb.test
Crear
Insertar un solo documento insert_one(document)
>>> result = col.insert_one({'x':1})
>>> result.inserted_id
ObjectId('583c16b9dc32d44b6e93cd9b')
Insertar múltiples documentos insert_many(documents)
>>> result = col.insert_many([{'x': 2}, {'x': 3}])
>>> result.inserted_ids
[ObjectId('583c17e7dc32d44b6e93cd9c'), ObjectId('583c17e7dc32d44b6e93cd9d')]
Reemplace un solo documento que coincida con el filtro replace_one(filter, replacement, upsert=False)
. (para insertar un nuevo documento si no existe un documento coincidente, use upsert=True
)
>>> result = col.replace_one({'x': 1}, {'y': 1})
>>> result.matched_count
1
>>> result.modified_count
1
Actualizar
Actualice un solo documento que coincida con el filtro update_one(filter, update, upsert=False)
>>> result = col.update_one({'x': 1}, {'x': 3})
Actualice uno o más documentos que coincidan con el filtro update_many(filter, update, upsert=False)
>>> result = col.update_many({'x': 1}, {'x': 3})
Leer
Consulte la búsqueda de la base de datos find(filter=None, projection=None, skip=0, limit=0, no_cursor_timeout=False)
. El argumento del filtro es un documento prototipo que todos los resultados deben coincidir.
>>> result = col.find({'x': 1})
Obtenga un solo documento de la base de datos find_one(filter=None)
>>> result = col.find_one()
Consulta Con Proyección
query={'x':1}
projection={'_id':0, 'x':1} # show x but not show _id
result=col.find(query,projection)
Borrar
Eliminar un solo documento que coincida con el filtro delete_one(filter)
>>> result = col.delete_one({'x': 1})
>>> result.deleted_count
1
Eliminar uno o más documentos que coincidan con el filtro delete_many(filter)
>>> result = col.delete_many({'x': 1})
>>> result.deleted_count
3
PyMongo también proporciona las find_one_and_delete()
, find_one_and_update()
y find_one_and_replace()
.