J'essaie de retourner un champ d'un niveau dans ma requête de sous-document. Mon schéma est le suivant:Renvoie les champs d'un niveau à partir de la requête de sous-document mongodb
profile:{
contacts:[{
first_name:'Tom',
last_name:'Smith',
shared:[{
owner_id:'something',
other_data:'something'
}]
},
{
//.... more contacts
}]
}
si j'écris une requête pour obtenir un contact particulier en faisant correspondre quelque chose dans le « partagé » sous-document, j'ai accès aux champs dans le sous-document. Mon problème est que je veux rechercher des contacts basés sur un owner_id dans le sous-document partagé, mais je veux retourner le 'first_name' et le 'last_name' d'un niveau.
Pour interroger le sous-document que je ferais ce qui suit:
db.profile.find({'contacts.shared':{ower_id:'something},{'first_name':1, 'last_name':1}})
ne renvoie pas les champs du parent.
Comment voulez-vous monter d'un niveau pour obtenir ces champs?
Est "profil" de nom d'un champ dans votre document? – styvane
Profil est le document – cnak2
Si "profil" n'est pas le nom d'un champ, alors vous devriez supprimer le supprimer de votre message, pensez également à nous montrer le résultat attendu. – styvane