Esta página contiene ejemplos de código que muestran cómo conectar la aplicación de Python a MongoDB con varias configuraciones.
Tip
Para obtener más información sobre las opciones de conexión de esta página, consulta el enlace proporcionado en cada sección.
Para utilizar un ejemplo de conexión de esta página, copie el ejemplo de código en el
Aplicación de ejemplo o su propia aplicación. Asegúrese de reemplazar todos los marcadores de posición en los ejemplos de código, como <hostname>, con los valores relevantes para su implementación de MongoDB.
Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:
Asegúrate de que tienes PyMongo instalado.
Copia el siguiente código y pégalo en un nuevo archivo .py.
Copia un ejemplo de código de esta página y pégalo en las líneas especificadas del archivo.
Seleccione el Synchronous o pestaña Asynchronous para ver el código correspondiente:
| 1 | import pymongo |
| 2 | from pymongo import MongoClient |
| 3 | |
| 4 | try: |
| 5 | uri = "<connection string URI>" |
| 6 | client = MongoClient(uri) |
| 7 | |
| 8 | database = client["<database name>"] |
| 9 | collection = database["<collection name>"] |
| 10 | |
| 11 | |
| 12 | |
| 13 | |
| 14 | |
| 15 | client.close() |
| 16 | |
| 17 | except Exception as e: |
| 18 | raise Exception( |
| 19 | "The following error occurred: ", e) |
| 1 | import asyncio |
| 2 | import pymongo |
| 3 | from pymongo import AsyncMongoClient |
| 4 | |
| 5 | async def main(): |
| 6 | try: |
| 7 | uri = "<connection string URI>" |
| 8 | client = AsyncMongoClient(uri) |
| 9 | |
| 10 | database = client["<database name>"] |
| 11 | collection = database["<collection name>"] |
| 12 | |
| 13 | |
| 14 | |
| 15 | |
| 16 | |
| 17 | await client.close() |
| 18 | |
| 19 | except Exception as e: |
| 20 | raise Exception( |
| 21 | "The following error occurred: ", e) |
| 22 | |
| 23 | asyncio.run(main()) |
| result = collection.insert_one({ "<field name>" : "<value>" }) |
|
| print(result.acknowledged) |
| result = await collection.insert_one({ "<field name>" : "<value>" }) |
|
| print(result.acknowledged) |
Para obtener más información sobre el método insert_one(), consulte la Guía deinserción de documentos.
| document_list = [ |
| { "<field name>" : "<value>" }, |
| { "<field name>" : "<value>" } |
| ] |
|
| result = collection.insert_many(document_list) |
|
| print(result.acknowledged) |
| document_list = [ |
| { "<field name>" : "<value>" }, |
| { "<field name>" : "<value>" } |
| ] |
|
| result = await collection.insert_many(document_list) |
|
| print(result.acknowledged) |
Para obtener más información sobre el método insert_many(), consultar la guía Insertar Documentos.
| query_filter = { "<field to match>" : "<value to match>" } |
| update_operation = { "$set" : |
| { "<field name>" : "<value>" } |
| } |
| result = collection.update_one(query_filter, update_operation) |
|
| print(result.modified_count) |
| query_filter = { "<field to match>" : "<value to match>" } |
| update_operation = { "$set" : |
| { "<field name>" : "<value>" } |
| } |
| result = await collection.update_one(query_filter, update_operation) |
|
| print(result.modified_count) |
Para obtener más información sobre el método update_one(), consulte la Guía para actualizar documentos.
| query_filter = { "<field to match>" : "<value to match>" } |
| update_operation = { "$set" : |
| { "<field name>" : "<value>" } |
| } |
| result = collection.update_many(query_filter, update_operation) |
|
| print(result.modified_count) |
| query_filter = { "<field to match>" : "<value to match>" } |
| update_operation = { "$set" : |
| { "<field name>" : "<value>" } |
| } |
| result = await collection.update_many(query_filter, update_operation) |
|
| print(result.modified_count) |
Para obtener más información sobre el método update_many(), consulte la Guía para actualizar documentos.
| query_filter = { "<field to match>" : "<value to match>" } |
| replace_document = { "<new document field name>" : "<new document value>" } |
|
| result = collection.replace_one(query_filter, replace_document) |
|
| print(result.modified_count) |
| query_filter = { "<field to match>" : "<value to match>" } |
| replace_document = { "<new document field name>" : "<new document value>" } |
|
| result = await collection.replace_one(query_filter, replace_document) |
|
| print(result.modified_count) |
Para aprender más sobre el método replace_one(), consulta la guía Reemplazar Documentos.
| query_filter = { "<field to match>" : "<value to match>" } |
|
| result = collection.delete_one(query_filter) |
|
| print(result.deleted_count) |
| query_filter = { "<field to match>" : "<value to match>" } |
|
| result = await collection.delete_one(query_filter) |
|
| print(result.deleted_count) |
Para obtener más información sobre el método delete_one(), consulta la guía Borrar Documentos.
| query_filter = { "<field to match>" : "<value to match>" } |
|
| result = collection.delete_many(query_filter) |
|
| print(result.deleted_count) |
| query_filter = { "<field to match>" : "<value to match>" } |
|
| result = await collection.delete_many(query_filter) |
|
| print(result.deleted_count) |
Para obtener más información sobre el método delete_many(), consulta la guía Borrar Documentos.
| operations = [ |
| pymongo.InsertOne( |
| { |
| "<field name>" : "<value>" |
| } |
| ), |
| pymongo.UpdateMany( |
| { "<field to match>" : "<value to match>" }, |
| { "$set" : { "<field name>" : "<value>" }}, |
| ), |
| pymongo.DeleteOne( |
| { "<field to match>" : "<value to match>" } |
| ), |
| ] |
|
| result = collection.bulk_write(operations) |
|
| print(result) |
| operations = [ |
| pymongo.InsertOne( |
| { |
| "<field name>" : "<value>" |
| } |
| ), |
| pymongo.UpdateMany( |
| { "<field to match>" : "<value to match>" }, |
| { "$set" : { "<field name>" : "<value>" }}, |
| ), |
| pymongo.DeleteOne( |
| { "<field to match>" : "<value to match>" } |
| ), |
| ] |
|
| result = await collection.bulk_write(operations) |
|
| print(result) |
Para aprender más sobre el método bulk_write(), consulta la Guía de escritura masiva.
| results = collection.find_one({ "<field name>" : "<value>" }) |
|
| print(results) |
| results = await collection.find_one({ "<field name>" : "<value>" }) |
|
| print(results) |
Para obtener más información sobre el método find_one(), consulta encontrar un documento en la guía de Recuperar datos.
| results = collection.find({ "<field name>" : "<value>" }) |
|
| for document in results: |
| print(document) |
| results = collection.find({ "<field name>" : "<value>" }) |
|
| async for document in results: |
| print(document) |
Para aprender más sobre el método find(), consulta Encontrar varios documentos en la guía de Recuperar de datos.
| count = collection.count_documents({}) |
|
| print(count) |
| count = await collection.count_documents({}) |
|
| print(count) |
Para aprender más sobre el método count_documents(), consulte la guía Recuperar un recuento preciso.
| count = collection.count_documents({ "<field name>": "<value>" }) |
|
| print(count) |
| count = await collection.count_documents({ "<field name>": "<value>" }) |
|
| print(count) |
Para aprender más sobre el método count_documents(), consulte la guía Recuperar un recuento preciso.
| count = collection.estimated_document_count() |
|
| print(count) |
| count = await collection.estimated_document_count() |
|
| print(count) |
Para obtener más información sobre el método estimated_document_count(), consulta la guía Recuperar un recuento estimado.
| results = collection.distinct("<field name>") |
|
| for document in results: |
| print(document) |
| results = await collection.distinct("<field name>") |
|
| for document in results: |
| print(document) |
Para obtener más información sobre el método distinct(), consulta la guía Recuperar Valores Únicos de Campo.