Búsqueda de MongoDB Python
- Página anterior Insertar MongoDB
- Página siguiente Consulta MongoDB
En MongoDB, usamos los métodos find y findOne para buscar datos en la colección.
Al igual que las sentencias SELECT se utilizan para buscar datos en tablas de bases de datos MySQL.
buscar un elemento
Para seleccionar datos en una colección de MongoDB, podemos usar find_one()
Método.
find_one()
El método devuelve el primer elemento coincidente seleccionado.
Ejemplo
buscar el primer documento de la colección customers:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] x = mycol.find_one() print(x)
buscar todo
Para seleccionar datos de una tabla en MongoDB, también podemos usar find()
Método.
find()
El método devuelve todos los elementos coincidentes seleccionados.
find()
El primer parámetro del método es el objeto de consulta. En este ejemplo, usamos un objeto de consulta vacío, que selecciona todos los documentos de la colección.
find()
El método no proporciona parámetros que ofrezcan el mismo resultado que SELECT * en MySQL.
Ejemplo
devuelve todos los documentos de la colección "customers" e imprime cada documento:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find(): print(x)
solo devuelve algunos campos
find()
El segundo parámetro de la método es el objeto que describe los campos que se incluyen en el resultado.
Este parámetro es opcional, si se omite, todos los campos se incluirán en los resultados.
Ejemplo
Sólo devuelve nombre y dirección, no _ids:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "_id": 0, "name": 1, "address": 1 }): print(x)
No se permite especificar tanto 0 como 1 en el mismo objeto al mismo tiempo (a menos que uno de los campos sea el campo _id). Si se especifica un valor de 0 para un campo, todos los otros campos tendrán un valor de 1, y viceversa:
Ejemplo
Este ejemplo excluye "address" de los resultados:
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "address": 0 }): print(x)
Ejemplo
Si se especifican tanto 0 como 1 en el mismo objeto al mismo tiempo, se producirá un error (a menos que uno de los campos sea el campo _id):
import pymongo myclient = pymongo.MongoClient("mongodb://localhost:27017/") mydb = myclient["mydatabase"] mycol = mydb["customers"] for x in mycol.find({},{ "name": 1, "address": 0 }): print(x)
- Página anterior Insertar MongoDB
- Página siguiente Consulta MongoDB