Python MONGO DB FIND

En MongoDB utilizamos los métodos find y findOne para buscar datos en una colección.

Al igual que la instrucción SELECT se usa para encontrar datos en una tabla en una base de datos MySQL.


Buscar

Para seleccionar datos de una colección en MongoDB, podemos usar el método find_one (). El método find_one () devuelve la primera aparición en la selección.

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient[ "bbdd"]
mycol = mydb[ "Clientes"]

x = mycol.find_one()

print(x)

Encontrar todos

Para seleccionar datos de una tabla en MongoDB, también podemos usar el método find().

El método find() devuelve todas las apariciones en la selección.

El primer parámetro del método find() es un objeto de consulta. En este ejemplo, utilizamos un objeto de consulta vacío, que selecciona todos los documentos de la colección.

Ningún parámetro en el método find() le da el mismo resultado que SELECT * en MySQL.

Ejemplo

Devuelva todos los documentos de la colección de «clientes» e imprima cada documento:

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient[ "bbdd"]
mycol = mydb[ "Clientes"]

  for x in mycol.find():

print(x)

Devuelve solo algunos campos

El segundo parámetro del método find () es un objeto que describe qué campos incluir en el resultado. Este parámetro es opcional, y si se omite, todos los campos se incluirán en el resultado.

Ejemplo

Devuelve solo los nombres y direcciones, no los _ids:

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient[ "bbdd"]
mycol = mydb[ "Clientes"]

for x in mycol.find({},{  "id": 0,  "nombre": 1,  "direccion": 1 }):
  print(x)

No se le permite especificar los valores 0 y 1 en el mismo objeto (excepto si uno de los campos es el campo _id). Si especifica un campo con el valor 0, todos los demás campos obtienen el valor 1 y viceversa:

Ejemplo

Este ejemplo excluirá «dirección» del resultado:

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient[ "bbdd"]
mycol = mydb[ "Clientes"]

for x in mycol.find({},{  "direccion": 0 }):
  print(x)

Ejemplo

Recibirá un error si especifica valores 0 y 1 en el mismo objeto (excepto si uno de los campos es el campo _id):

import pymongo

myclient = pymongo.MongoClient( "mongodb://localhost:12345/")
mydb = myclient[ "bbdd"]
mycol = mydb[ "Clientes"]

for x in mycol.find({},{ "nombre": 1,  "direccion": 0 }):
  print(x)