Seleccione Campos Únicos o Múltiples para Todos los Documentos en una Colección MongoDB

Tahseen Tauseef 15 febrero 2024
  1. Seleccione Campos Únicos o Múltiples para Todos los Documentos en una Colección MongoDB
  2. Use el método de proyección para seleccionar campos únicos o múltiples para todos los documentos en una colección de MongoDB
  3. Conclusión
Seleccione Campos Únicos o Múltiples para Todos los Documentos en una Colección MongoDB

Los datos se producen a un ritmo sin precedentes gracias a la expansión mundial de Internet. Dado que requerirá que recopile o solicite los datos necesarios de la base de datos para realizar el análisis, debe elegir la herramienta adecuada para consultar los datos.

En este artículo, aprenderá a seleccionar uno o varios campos para todos los documentos de una colección de MongoDB mediante la realización de operaciones de consulta básicas a través de la proyección.

Seleccione Campos Únicos o Múltiples para Todos los Documentos en una Colección MongoDB

MongoDB es un sistema de gestión de base de datos no estructurado que almacena datos en forma de documentos. Además, MongoDB también tiene mucho éxito en el procesamiento de grandes volúmenes de datos.

Es la base de datos NoSQL más utilizada porque ofrece un lenguaje de consulta completo y acceso a datos universal y fácil. Por ejemplo, para limitar la cantidad de datos que MongoDB envía a las aplicaciones, puede incluir un documento de proyección para especificar o restringir los campos a devolver.

Una proyección puede incluir explícitamente varios campos. En los siguientes ejemplos utilizados en este artículo, el método find() devuelve todos los documentos que coinciden con la consulta.

La sintaxis para el método de proyección se da a continuación:

db.collection.find( { <someOtherArray>: <condition> ... },
                    { "<array>.$" : 1 } )

Las matrices utilizadas en los documentos de consulta y proyección deben tener la misma longitud para garantizar el comportamiento previsto. Si las matrices tienen diferentes longitudes, la operación puede generar errores en escenarios específicos.

Crear una base de datos de muestra

Antes de comenzar, creará una base de datos de muestra con algunos datos de muestra para realizar todas las operaciones. Se realizó una colección denominada equipos, y se insertaron los siguientes registros dentro de la colección equipos.

Esta colección se usará para todos los ejemplos en este artículo del tutorial de MongoDB. La colección se da a continuación:

db={
  "teams": [
    {
      team: "Manchester City ",
      position: "1st",
      points: 70
    },
    {
      team: "Liverpool",
      position: "2nd",
      points: 69
    },
    {
      team: "Chelsea",
      position: "3rd",
      points: 59
    },
    {
      team: "Arsenal",
      position: "4th",
      points: 54
    },
    {
      team: "Tottenham",
      position: "5th",
      points: 51
    },
    {
      team: "Manchester United",
      position: "6th",
      points: 50
    }
  ]
}

Consultar documentos utilizando el método find()

Deberá utilizar el método find() para consultar documentos de las colecciones de MongoDB. Por ejemplo, la siguiente declaración recuperará todos los documentos de la colección.

Supongamos que tiene una colección con muchos datos en un solo documento. Tienes la colección de equipos, y seleccionarás solo los campos que quieras.

Consulta:

db.teams.find({});

Producción:

Selección de un solo campo

Use el método de proyección para seleccionar campos únicos o múltiples para todos los documentos en una colección de MongoDB

Una proyección puede incluir explícitamente varios campos. El método find() devolverá todas las páginas que coincidan con la consulta en la siguiente operación.

Si desea recuperar solo los campos seleccionados de una colección, puede utilizar el método de proyección.

Para hacer eso, primero debe comprender la sintaxis de consulta de MongoDB que se proporciona a continuación:

db.collections.find(
    // basic filtering based on the passed-in key values
    {},
    // selecting the fields
    {});

El segundo parámetro se puede pasar al método find(). También funcionará con el método findOne().

Ahora vamos a seleccionar el campo equipo. Tendrás que aprender un truco más aquí. La clave será el campo que quieras elegir y su valor.

El valor será 1 para seleccionar un campo; 0 para deseleccionar un campo.

Ahora puede ver algunos ejemplos que se dan a continuación para una mejor comprensión.

Seleccione solo el campo de nombre del Equipo

La siguiente consulta dada a continuación se utilizará para este ejemplo:

db.teams.find({},
{
  team: 1
})

Producción:

Selección de un solo campo 1

Aquí hemos seleccionado con éxito solo el campo equipo. Pero también está incluido el campo _id sin que lo pases explícitamente.

Pero por defecto, la consulta mongo siempre tendrá el campo _id.

Deseleccione el campo _id

En el siguiente ejemplo, puede intentar anular la selección del propio campo _id.

La consulta para esto se da a continuación:

db.teams.find({},
{
  team: 1,
  _id: 0
})

Producción:

Selección de un solo campo 2

Seleccione solo el nombre del Equipo y el campo Puntos

La siguiente declaración obtendrá solo el nombre del equipo y el campo puntos.

La siguiente consulta dada a continuación se utilizará para este ejemplo:

db.teams.find({},
{
  team: 1,
  points: 1,
  _id: 0
})

Producción:

Selección de un solo campo 3

Conclusión

Entonces, después de seguir este tutorial de MongoDB, aprendió cómo seleccionar campos únicos o múltiples para todos los documentos en una colección de MongoDB realizando operaciones de consulta básicas a través de la proyección que especifica o restringe los campos para devolver.

Artículo relacionado - MongoDB Projection