¿ Como encontrar un documento dentro de un array en MongoDB?

--

Este es un pequeño ejemplo del tema Array Query Operators

Para este caso de uso colocaré este ejemplo donde tenemos una colección llamada equipos en la cual queremos buscar un jugador del array jugadores

{
"_id": ObjectId("5e90c6fef25b8a80636fedc4"),
"Nombre": "Los Angeles Lakers",
"Categoria": "NBA",
"jugadores": [
{
"_id": ObjectId("5e90c6fef25b8a80636fedc5"),
"nombre": "Lebron James",
"edad": 29,
"Altura": 2.03
},
{
"_id": ObjectId("5e90c6fef25b8a80636fedc6"),
"nombre": "Anthony Davis",
"edad": 18,
"Altura": 2.08
}
]
}

¿Como buscar un jugador por id ?

Nuestra consulta seria asi:

db.equipos.find(
{"jugadores._id": ObjectId("5e90c6fef25b8a80636fedc5") }, {"jugadores.$": true} //indica traer todos los campos
)

Obtenemos como respuesta :

{
"_id" : ObjectId("5e90c6fef25b8a80636fedc4"),
"jugadores" :[
{
"_id" : ObjectId("5e90c6fef25b8a80636fedc5"),
"nombre" : "Lebron James",
"edad" : 29,
"Altura" : 2.03
}
]
}

--

--

No responses yet