Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Consulta tus datos

Puedes escribir documentos de filtro de MongoDB en la barra de query para mostrar solo los documentos que coincidan con los criterios especificados. Para aprender más sobre cómo consultar documentos, ver Query documentos en el manual de MongoDB.

Puedes consultar tus datos para implementaciones alojadas en los siguientes entornos:

Para obtener más información sobre cómo consultar tus datos para implementaciones alojadas en MongoDB Atlas, consulta Busca documentos específicos.

  1. En el Filter campo, introduzca un documento de filtro entre las llaves. Puede utilizar todos los operadores del query de MongoDB excepto el Operadores $texty$expr.

    Ejemplo

    El siguiente filtro devuelve documentos que tienen un valor de title de Jurassic Park:

    { "title": "Jurassic Park" }
  2. Haz clic en Find para ejecutar el query y ver los resultados actualizados.

    Resultados de aplicar un filtro de query
    haga clic para ampliar

Nota

Limitaciones de enteros grandes

Para query enteros mayores que el tamaño máximo de enteros de JavaScript, envuelva el entero en caracteres string y pase el entero al constructor NumberLong().

Por ejemplo, para encontrar todos los documentos con un valor number de 507550989629521900, utiliza este filtro de query:

{ "number" : NumberLong("507550989629521900") }

Los ejemplos en esta página utilizan un pequeño conjunto de datos de ejemplo. Para importar los datos de muestra en la implementación de MongoDB, se deben seguir estos pasos:

  1. Copie los siguientes documentos en su portapapeles:

    [
    {
    "name": "Andrea Le",
    "email": "andrea_le@fake-mail.com",
    "school": {
    "name": "Northwestern"
    },
    "version": 5,
    "scores": [ 85, 95, 75 ],
    "dateCreated": { "$date": "2003-03-26" }
    },
    {
    "email": "no_name@fake-mail.com",
    "version": 4,
    "scores": [ 90, 90, 70 ],
    "dateCreated": { "$date": "2001-04-15" }
    },
    {
    "name": "Greg Powell",
    "email": "greg_powell@fake-mail.com",
    "version": 1,
    "scores": [ 65, 75, 80 ],
    "dateCreated": { "$date": "1999-02-10" }
    }
    ]
  2. En Compass, utiliza el panel de navegación izquierdo para seleccionar la base de datos y la colección a la que deseas importar los datos.

  3. Haz clic en la pestaña Documents.

  4. Haga clic en Add Data y seleccione Insert Document.

  5. Establece el parámetro View en JSON ({}).

  6. Se deben pegar los documentos JSON del portapapeles en el modal.

  7. Haga clic en Insert.

Nota

Si no tienes una implementación de MongoDB o si deseas consultar una muestra de conjunto de datos más grande, consulta Datos de muestra para clústeres de Atlas a fin de obtener instrucciones sobre cómo crear un clúster de nivel gratuito con datos de muestra. En el siguiente ejemplo, se establece un filtro de query en los documentos de muestra proporcionados en esta página.

El siguiente filtro de query busca todos los documentos donde el valor de name es "Andrea Le":

{ name: "Andrea Le" }

El query devuelve el siguiente documento:

{
"_id": { "$oid": "5e349915cebae490877d561d" },
"name": "Andrea Le",
"email": "andrea_le@fake-mail.com",
"school": {
"name": "Northwestern"
},
"version": 5,
"scores": [ 85, 95, 75 ],
"dateCreated": { "$date": "2003-03-26" }
}

El siguiente filtro de query busca todos los documentos donde el arreglo scores contiene el valor 75 y el name es Greg Powell:

{ $and: [ { scores: 75, name: "Greg Powell" } ] }

El query devuelve el siguiente documento:

{
"_id": { "$oid":"5a9427648b0beebeb69579cf" },
"name": "Greg Powell",
"email": "greg_powell@fake-mail.com",
"version": 1,
"scores": [ 65, 75, 80 ],
"dateCreated": { "$date": "1999-02-10" }
}

El siguiente filtro de consulta utiliza el operador para encontrar documentos $or donde version es 4 name o Andrea Le es:

{ $or: [ { version: 4 }, { name: "Andrea Le" } ] }

La query devuelve los siguientes documentos:

[
{
"_id": { "$oid": "5e349915cebae490877d561d" },
"name": "Andrea Le",
"email": "andrea_le@fake-mail.com",
"school": {
"name": "Northwestern"
},
"version": 5,
"scores": [ 85, 95, 75 ],
"dateCreated": { "$date": "2003-03-26" }
},
{
"_id": { "$oid":"5e349915cebae490877d561e" },
"email": "no_name@fake-mail.com",
"version": 4,
"scores": [ 90, 90, 70 ],
"dateCreated": { "$date": "2001-04-15" }
}
]

El siguiente filtro de consulta utiliza el operador para encontrar todos los documentos donde el valor $not del name campo no es igual a "Andrea Le" o el name campo no existe:

{ name: { $not: { $eq: "Andrea Le" } } }

La query devuelve los siguientes documentos:

[
{
"_id": { "$oid":"5e349915cebae490877d561e" },
"email": "no_name@fake-mail.com",
"version": 4,
"scores": [ 90, 90, 70 ],
"dateCreated": { "$date": "2001-04-15" }
},
{
"_id": { "$oid":"5a9427648b0beebeb69579cf" },
"name": "Greg Powell",
"email": "greg_powell@fake-mail.com",
"version": 1,
"scores": [ 65, 75, 80 ],
"dateCreated": { "$date": "1999-02-10" }
}
]

Tip

Para obtener una lista completa de operadores lógicos del query, consulta Operadores lógicos del query.

El siguiente filtro de consulta utiliza el operador para encontrar todos los documentos $lte donde version sea menor o igual 4 que:

{ version: { $lte: 4 } }

La query devuelve los siguientes documentos:

[
{
"_id": { "$oid":"5e349915cebae490877d561e" },
"email": "no_name@fake-mail.com",
"version": 4,
"scores": [ 90, 90, 70 ],
"dateCreated": { "$date": "2001-04-15" }
},
{
"_id": { "$oid":"5a9427648b0beebeb69579cf" },
"name": "Greg Powell",
"email": "greg_powell@fake-mail.com",
"version": 1,
"scores": [ 65, 75, 80 ],
"dateCreated": { "$date": "1999-02-10" }
}
]

Tip

Para obtener una lista completa de operadores de comparación, consulta Operadores del query de comparación.

El siguiente filtro de consulta utiliza el $gt operador y Date el método para encontrar todos los documentos donde el dateCreated valor del campo sea posterior al 31 de junio 22de2000 2012:

{ dateCreated: { $gt: new Date('2000-06-22') } }

La query devuelve los siguientes documentos:

[
{
"_id": { "$oid": "5e349915cebae490877d561d" },
"name": "Andrea Le",
"email": "andrea_le@fake-mail.com",
"school": {
"name": "Northwestern"
},
"version": 5,
"scores": [ 85, 95, 75 ],
"dateCreated": { "$date": "2003-03-26" }
},
{
"_id": { "$oid": "5e349915cebae490877d561e" },
"email": "no_name@fake-mail.com",
"version": 4,
"scores": [ 90, 90, 70 ],
"dateCreated": { "$date": "2001-04-15" }
}
]

El siguiente filtro de consulta utiliza el operador para encontrar todos los documentos donde al menos un valor en $elemMatch la scores matriz sea mayor que 80 y menor 90 que:

{ scores: { $elemMatch: { $gt: 80, $lt: 90 } } }

El query devuelve el siguiente documento porque uno de los valores del arreglo scores es 85:

{
"_id": { "$oid": "5e349915cebae490877d561d" },
"name": "Andrea Le",
"email": "andrea_le@fake-mail.com",
"school": {
"name": "Northwestern"
},
"version": 5,
"scores": [ 85, 95, 75 ],
"dateCreated": { "$date": "2003-03-26" }
}

Para obtener más ejemplos de query, consulta Busca documentos en el manual de MongoDB.

El siguiente filtro de consulta utiliza el operador para encontrar todos los documentos donde el valor $regex de email incluye el término "andrea_le":

{ email: { $regex: "andrea_le" } }

El query devuelve el siguiente documento:

{
"_id": { "$oid": "5e349915cebae490877d561d" },
"name": "Andrea Le",
"email": "andrea_le@fake-mail.com",
"school": {
"name": "Northwestern"
},
"version": 5,
"scores": [ 85, 95, 75 ],
"dateCreated": { "$date": "2003-03-26" }
}

El siguiente filtro de query encuentra el documento con el subcampo school.name de “Northwestern”:

{ "school.name": "Northwestern" }

El query devuelve el siguiente documento:

{
"_id": { "$oid": "5e349915cebae490877d561d" },
"name": "Andrea Le",
"email": "andrea_le@fake-mail.com",
"school": {
"name": "Northwestern"
},
"version": 5,
"scores": [ 85, 95, 75 ],
"dateCreated": { "$date": "2003-03-26" }
}

Para obtener más ejemplos de query, consulta Busca documentos en el manual de MongoDB.

Si un documento contiene un campo y un valor específicos al cual quieres que tu query coincida, puedes hacer clic derecho en el campo deseado y seleccionar Add to query del menú desplegable:

Haz clic derecho para añadir un campo a la query

Esto añade una cláusula que coincide con el campo y su valor específico a la barra de query. En el ejemplo anterior, Compass añade una query que coincide con { runtime: 72 }.

Si no has definido una query, Compass crea una en la barra de las query.

El Filter Compass soporta el uso de la representaciónmongosh de los tipos de datos BSON de los JSON extendidos de MongoDB.

Ejemplo

El siguiente filtro devuelve documentos donde start_date es mayor que el BSON Date 2017-05-01:

{ "start_date": {$gt: new Date('2017-05-01')} }

Al especificar el tipo Date tanto en start_date como en el operador de comparación $gt, Compass realiza la comparación greater than cronológicamente y devuelve documentos cuya start_date es posterior a 2017-05-01.

Sin la especificación del tipo Date, Compass compara los start_dates como cadenas lexicográficamente, en lugar de comparar los valores cronológicamente.

Para borrar la barra de query y los resultados del query, haz clic en Reset.

Si intentas hacer un query o exportar datos con caracteres UTF8 no válidos, aparece el siguiente mensaje de error:

Invalid UTF-8 string in BSON document.

Para hacer un query o exportar estos datos, establece la opción URI enableUtf8Validation en false para desactivar la validación UTF8.

Advertencia

Si se editan datos con enableUtf8Validation=false pueden perderse datos. Este enfoque es una solución temporal para consultar o exportar datos únicamente.

El siguiente URI desactiva la validación de UTF8:

mongodb://localhost:27017/?enableUtf8Validation=false

Nota

También puede desactivar esta opción en la Opciones de conexión avanzadas seleccionando enableUtf8Validation e false ingresando.

$filter corresponde a la WHERE cláusula en un SQL SELECT declaración.

Ejemplo

Hay 3235 artículos. Al usuario le gustaría ver todos los artículos que escribió Joe Bloggs.

Opción de filtro de Compass
{ author : { $eq : "Joe Bloggs" } }
Agregación de MongoDB
db.article.aggregate( { $match: { "author": "Joe Bloggs" } } )
SQL
SELECT * FROM article
WHERE author = "Joe Bloggs";

Volver

Borra varios documentos