Lo que revise en la documentacion el tema de projection es igual a hacer el select con las columnas especificas:
SELECT tripduration, usertype from trips WHERE tripduration > 500
Fundamentos de MongoDB
¿Qué es Mongo DB?
Bases de datos NoSQL
¿Qué son los documentos y colecciones?
Creando tu primer BD
Usando Mongo Compass
Mongo en VSCode
Instalando Docker
Mongo con Docker
Conectándonos usando mongosh
Json vs. Bson
CRUD
Insertando un documento
Insertando varios documentos
Actualizando un documento
Actualizando varios documentos
Array Update Operators
Update or insert
Elimando documentos
Operadores
Usando $eq y $ne
Usando $gt, $gte, $lt, $lte
Ejemplos de $gt, $gte, $lt, $lte
Usando $regex
Projection
Operadores para Arrays
Operadores lógicos
Expresive operator
Query in subdocs
Herramientas comunes al trabajar con MongoDB
Aggregation Framework
Sort, limit y skip
Atlas features
Toma el Curso de Modelamiento de Datos en MongoDB
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Aportes 5
Preguntas 0
Lo que revise en la documentacion el tema de projection es igual a hacer el select con las columnas especificas:
SELECT tripduration, usertype from trips WHERE tripduration > 500
Dentro Project también se puede colocar true o false en vez de 1 y 0.
db.trips.find(
{},
{ _id: false, tripduration: true }
)
Otra forma de utilizar el projection de manera explicita.
use("sample_training")
//Aqui aplicamos projection de forma explicita
db.trips.find({tripduration:{$lte:500},usertype:"Subscriber"}).projection({"tripduration":1,"end station name":1})
//Aqui ademas agregue un sort que seria como un Order By
db.trips.find({tripduration:{$lte:500},usertype:"Subscriber"}).projection({"tripduration":1,"end station name":1}).sort({tripduration:1})
Lo mismo aplica a la inversa, por si quieres devolver todo excepto X campos concretos, en el projection se especifican los campos que no queremos con el valor 0
Comparto las dos formas que me funcionaron project
Primera forma
use("Platzi_store")
// busqueda entre un array que inicie la palabra "S"
// la letra "i" ignore si es mayuscula o minuscula
// La "m" ayuda a ignorar los saltos de linea en una variable
db.inventory.find({
"item.description": {
$regex: /^S/im
}
},
// este filtro ayuda solo a mostrar los campos que se quieren visualizar
{ _id: false, item: true })
Segunda forma
use("Platzi_store")
// busqueda entre un array que inicie la palabra "S"
// la letra "i" ignore si es mayuscula o minuscula
// La "m" ayuda a ignorar los saltos de linea en una variable
db.inventory.find({
"item.description": {
$regex: /^S/im
}
}// este filtro ayuda solo a mostrar los campos que se quieren visualizar
).projection({ _id: false, item: true })
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.