{
"_id":{
"oid":"4f33bf69873dbc73a7d21dc3"
},
"country":"IND",
"states":[{
"name":"orissa",
"direction":"east",
"population":41947358,
"districts":[{
"name":"puri",
"headquarter":"puri",
"population":1498604
},
{
"name":"khordha",
"headquarter":"bhubaneswar",
"population":1874405
}
]
},
{
"name":"andhra pradesh",
"direction":"south",
"population":84665533,
"districts":[{
"name":"rangareddi",
"headquarter":"hyderabad",
"population":3506670
},
{
"name":"vishakhapatnam",
"headquarter":"vishakhapatnam",
"population":3789823
}
]
}
]
}
Nella raccolta di cui sopra (cioè paesi) ho solo un documento, e voglio recuperare i dettagli su un particolare stato (diciamo "country.states.name": "orissa") , ma io voglio che il mio risultato qui sotto invece di tutto il documento .è c'è un modo in Mogo ...selezionare solo documenti secondari o array
{
"name": "orissa",
"direction": "east",
"population": 41947358,
"districts": [
{
"name": "puri",
"headquarter": "puri",
"population": 1498604
},
{
"name": "khordha",
"headquarter": "bhubaneswar",
"population": 1874405
}
]
}
Grazie
Quindi possiamo scrivere una procedura in Mongo dove potremmo ottenere prima il numero ordinale dello stato e poi usare $ slice? – John
@John: No, ma puoi aggiungere 'id' a ogni stato uguale al numero ordinale di stato quando inserisci il paese nel database. E quindi utilizzare questo ID per caricare uno stato particolare. –