Está en la página 1de 8

Projection (proyección)

En MongoDB, proyección significa seleccionar solo los datos necesarios en lugar de seleccionar
la totalidad de los datos de un documento.

Ejemplo: si un documento tiene 5 campos y solo se requiere mostrar 3, se puede realizar una
proyección solo para desplegar 3 campos.

Para realizar proyecciones se utiliza el método find(), el cual por defecto muestra todos los
campos del documento. Para limitar esto, es necesario establecer una lista de campos con
valor 1 o 0. Donde 1 se usa para mostrar campos, mientras que 0 se usa para ocultar los
campos.

Realice el siguiente ejemplo:

Cree una base de datos llamada: bd_ejemplos

Luego cree una colección llamada estudiantes:

En la colección anterior inserte los siguientes documentos:

db.estudiantes.insertMany (
[
{
"identificacion" : "121212",
"nombres" : "Carlos Fernando",
"apellidos" : "Molina Rojas",
"direccion" : "Calle 45 # 85 - 96",
"telefono" : "9898989",
"celular" : "369874596",
"email" : "carlos@gmail.com",
"edad": "48",
"conyuge":
{
"identificacion" : "7878787",
"nombres" : "Mária Angelica",
"apellidos" : "Cardenas Martinez"
}
},
{
"identificacion" : "878787878",
"nombres" : "Damian",
"apellidos" : "Salcedo Parra",
"direccion" : "Calle 89 # 85 - 96",
"telefono" : "32565656",
"celular" : "1545464554",
"email" : "damian@gmail.com",
"edad": "36",
"conyuge":
{
"identificacion" : "78787878",
"nombres" : "Patricia",
"apellidos" : "Gomez"
}
},
{
"identificacion" : "7832121212",
"nombres" : "Luis Antonio",
"apellidos" : "Mosquera",
"direccion" : "Calle 55 # 85 - 96",
"telefono" : "898989897",
"celular" : "45454554",
"email" : "damian@gmail.com",
"edad": "25"
},
{
"identificacion" : "121212",
"nombres" : "Andy Fernando",
"apellidos" : "Salcedo Rojas",
"direccion" : "Calle 45 # 85 - 96",
"telefono" : "7878787887",
"celular" : "32323232",
"email" : "andy@gmail.com",
"edad": "38",
"conyuge":
{
"identificacion" : "7878787",
"nombres" : "Mária Angelica",
"apellidos" : "Cardenas Martinez"
}
},
{
"identificacion" : "878787878",
"nombres" : "Samir",
"apellidos" : "Gonzales Parra",
"direccion" : "Calle 88 # 54 - 96",
"telefono" : "9778787878",
"celular" : "112121212",
"email" : "samir@gmail.com",
"edad": "44",
"conyuge":
{
"identificacion" : "214545454",
"nombres" : "Carolina",
"apellidos" : "Sarmiento"
}
},
{
"identificacion" : "98954454545",
"nombres" : "Luisa Andrea",
"apellidos" : "Renza Velasco",
"direccion" : "Calle 63 # 98 - 989",
"telefono" : "78787878",
"celular" : "5656564",
"email" : "luisa@gmail.com",
"edad": "98",
"conyuge":
{
"identificacion" : "87878781221",
"nombres" : "Marlon",
"apellidos" : "Parra"
}
}
]
)

Realice una proyección en la que solo se visualicen los siguientes campos: identificación,
nombres, y apellidos:

Tenga en cuenta que el campo _id siempre se muestra al ejecutar el método find (), si no
desea este campo, entonces debe configurarlo como 0.

Ejemplo:
Ejercicio 1

Realice una proyección que por cada documento despliegue solo los campos siguientes:
dirección, teléfono, email y edad.

Limit records (limitar el número de registros)

Para limitar los registros en MongoDB, se debe utilizar el método limit (). El método acepta
un argumento de tipo de número, que es el número de documentos que desea mostrar.

Sintaxis básica:
db.coleccion.find().limit(numero_de_documentos)

Ejemplo:
Mostrar dos documentos de la colección empleados.

Resultado:
Skip (omitir)

Skip () se usa para omitir el número de documentos.

Sintaxis básica
db.coleccion.find().skip(numero)

Ejemplo:
Omitir los dos primeros documentos

Resultado:
Ejemplo:
Mostrar los documentos del 2 al 5 (es decir, omitir el primer y último documento)
Sort (ordenar)

Para ordenar documentos en MongoDB, se debe usar el método sort(). El método acepta un
documento que contiene una lista de campos junto con su orden de clasificación. Para
especificar el orden de clasificación se utilizan 1 y -1. 1 se usa para orden ascendente,
mientras que -1 se usa para orden descendente.

Sintaxis básica
db.coleccion.find().sort({KEY:1})

Ejemplo:
Ordenar la colección estudiantes por identificación en orden descendente

Resultado:
Nota: si no especifica la preferencia de orden, el método sort() mostrará los documentos en
orden ascendente.

Crear índices únicos

MongoDB permite crear índices únicos.

Sintaxis general
db.collection.createIndex( <key and index type specification>, { unique: true } )

Ejemplo
Crear el campo identificación como de la colección empleado como índice único.

Resultado:

1 se usa para orden ascendente, mientras que -1 se usa para orden descendente.

También podría gustarte