Overview
En esta página, puedes ver ejemplos de código copiables que muestran métodos comunes que puedes usar para encontrar documentos con PyMongo.
Tip
Para obtener más información sobre cualquiera de los métodos que se muestran en esta página, consulta el enlace que se proporciona en cada sección.
Para usar un ejemplo de esta página, copie el ejemplo de código en la aplicación de muestra o en su propia aplicación. Asegúrate de reemplazar todos los marcadores de posición en los ejemplos de código, como <connection string URI>, por los valores relevantes para tu implementación de MongoDB.
Aplicación de muestra
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.
Selecciona la pestaña Synchronous o 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 # start example code here 12 13 # end example code here 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 # start example code here 14 15 # end example code here 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())
Encontrar uno
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.
Encontrar varios
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.
Contar documentos en una colección
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.
Contar documentos devueltos de una query
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.
Recuento estimado de documentos
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.
Retrieve Distinct Values
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.
Supervisar los cambios en los datos
with collection.watch() as stream: for change in stream: print(change)
async with await collection.watch() as stream: async for change in stream: print(change)
Para aprender más sobre el método watch(), consulta la guía Supervise los datos con Change Streams.