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() .



Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow