tengo antecedentes en mi colección y quiero ir a buscar los datos de la persona cuyo ID es 1. Pero estoy recibiendo los datos de 2times en lugar de 1.¿Cómo encontrar el registro coincidente en mongodb?
db.mycollection.insert({"person" : [ { "id":1, "details" : { "name" : "Aswini", "Age" : 10 }}, { "id":2, "details" : { "name" : "Mahesh", "Age" : 11}}]})
Entonces el correr
> db.mycollection.findOne({"person.id":1},{"person.details":1,"_id":0})
el resultado es:
{
"person" :
[
{
"details" :
{
"name" : "Aswini",
"Age" : 10
}
},
{
"details" :
{
"name" : "Mahesh",
"Age" : 11
}
}
]
}
pero necesito de la siguiente manera:
{
"person" : [
{
"details" : {
"name" : "Aswini",
"Age" : 10
}
}
]
}
No entiendo dónde estoy cometiendo un error. Por favor necesita tu ayuda Estoy usando MongoDB, Java
su mal. op no quiere el primer elemento, quiere recuperar el conjunto secundario correspondiente independientemente de la posición. si el sub documento de person.id está en la última posición arriba de la consulta no se perderá – RameshVel
Tiene toda la razón. Quiero la matriz secundaria independientemente de su índice. Por favor, ayuda si tienes alguna solución am a newbee to mongodb – aswininayak