Proyección MongoDB

MongoDB proporciona una característica especial que se conoce como Proyección . Le permite seleccionar solo los datos necesarios en lugar de seleccionar datos completos del documento. Por ejemplo, un documento contiene 5 campos, es decir,

{
name: "Roma",
age: 30,
branch: EEE,
department: "HR",
salary: 20000
}

Pero solo queremos mostrar el nombre y la edad del empleado en lugar de mostrar todos los detalles. Ahora, aquí usamos la proyección para mostrar el nombre y la edad del empleado.

Uno puede usar proyección con db.collection.find()método. En este método, el segundo parámetro es el parámetro de proyección, que se utiliza para especificar qué campos se devuelven en los documentos coincidentes.

Sintaxis:

db.collection.find({}, {field1: value2, field2: value2, ..})
  • Si el valor del campo se establece en 1 o verdadero, significa que el campo se incluirá en el documento de devolución.
  • Si el valor del campo se establece en 0 o falso, significa que el campo no se incluirá en el documento de devolución.
  • Puede usar operadores de proyección, pero el find()método no admite los siguientes operadores de proyección, es decir, $, $elemMatch, $slicey $meta.
  • No es necesario establecer _idel campo en 1 para devolver _id el campo, el find()método siempre regresa _ida menos que establezca un _idcampo en 0.

Ejemplos:

En los siguientes ejemplos, estamos trabajando con:

Database: GeeksforGeeks
Collection: employee
Document: five documents that contain the details of the employees in the form of field-value pairs.

Mostrar los nombres de los empleados –

Mostrar los nombres de los empleados sin el _id campo –

Mostrar el nombre y el departamento de los empleados sin el _idcampo –

Mostrando los nombres y el departamento de los empleados cuyo año de incorporación es 2018 –

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *