Uso el db.collection.find() en MongoDB Shell para realizar queries de documentos en una colección.
Los ejemplos de esta página hacen referencia al conjunto de datos de muestra de Atlas. Puede crear un clúster de Atlas gratuito y rellenarlo con datos de muestra para seguir estos ejemplos. Para obtener más información sobre la configuración de implementaciones, consulte Introducción a MongoDB.
Lee todos los documentos de una colección
Para leer todos los documentos de la colección, pase un documento vacío como parámetro de filtro de query al método de búsqueda. El parámetro de filtro de query determina los criterios de selección.
Ejemplo
Para devolver todos los documentos de la colección sample_mflix.movies:
use sample_mflix db.movies.find()
Esta operación es equivalente a la siguiente instrucción SQL:
SELECT * FROM movies
Especifique la condición de igualdad
Para seleccionar documentos que coincidan con una condición de igualdad, especifique la condición como un par <field>:<value> en el documento de filtro de query.
Ejemplo
Para devolver todas las películas donde title sea igual a Titanic de la colección sample_mflix.movies:
use sample_mflix db.movies.find( { "title": "Titanic" } )
Esta operación corresponde a la siguiente instrucción SQL:
SELECT * FROM movies WHERE title = "Titanic"
Especifique condiciones utilizando operadores de query
Utiliza operadores del query en un documento de filtro de query para realizar comparaciones y evaluaciones más complejas. Los operadores del query en un documento de filtro de query tienen la siguiente forma:
{ <field1>: { <operator1>: <value1> }, ... }
Ejemplo
Para devolver todas las películas de la colección sample_mflix.movies que estén clasificadas como PG o PG-13:
use sample_mflix db.movies.find( { rated: { $in: [ "PG", "PG-13" ] } } )
Esta operación corresponde a la siguiente instrucción SQL:
SELECT * FROM movies WHERE rated in ("PG", "PG-13")
Especifica los operadores lógicos (AND/OR)
Una query compuesta puede especificar condiciones para más de un campo en los documentos de la colección. Implícitamente, una conjunción lógica AND conecta las cláusulas de una query compuesta de modo que la query selecciona los documentos de la colección que cumplen todas las condiciones.
Ejemplo
Para devolver películas que se estrenaron en México y que tengan una calificación en IMDB de al menos 7:
use sample_mflix db.movies.find( { countries: "Mexico", "imdb.rating": { $gte: 7 } } )
Utiliza el operador $or para especificar una query compuesta que une cada cláusula con una conjunción lógica OR para que la query seleccione los documentos en la colección que coincidan con al menos una condición.
Ejemplo
Para devolver películas de la colección sample_mflix.movies que se estrenaron en 2010 y que hayan ganado al menos 5 premios o tienen un genre de Drama:
use sample_mflix db.movies.find( { year: 2010, $or: [ { "awards.wins": { $gte: 5 } }, { genres: "Drama" } ] } )
Comportamiento de lectura
Para aprender más sobre el comportamiento específico de la lectura de documentos, consulte el Comportamiento.
Tutoriales adicionales de query
Para obtener ejemplos adicionales de queries, consulte: