私のサブ文書クエリでフィールドを1レベル上に戻そうとしています。私のスキーマは次のとおりです。サブフィールドクエリから1レベル上のフィールドを返すmongodb
profile:{
contacts:[{
first_name:'Tom',
last_name:'Smith',
shared:[{
owner_id:'something',
other_data:'something'
}]
},
{
//.... more contacts
}]
}
私は「共有」サブ文書の中で何かを照合することによって、特定の連絡先を取得するクエリを書く場合、Iサブ文書内のフィールドへのアクセス権を持っています。
私の問題は、共有サブ文書のowner_idに基づいて連絡先を検索したいのですが、私は 'first_name'と 'last_name'を1レベル上に戻したいと思います。
私は次のことを行うと、サブ文書を照会するには、次の
db.profile.find({'contacts.shared':{ower_id:'something},{'first_name':1, 'last_name':1}})
は、親のフィールドを返しません。
レベルを上げてそのフィールドを取得するにはどうすればよいですか?
を試すには、ドキュメント内の「プロファイル」フィールドの名前ですか? – styvane
プロファイルは文書 – cnak2
"profile"がフィールドの名前でない場合は、投稿から削除する必要があります。また、期待される結果を表示することを検討してください。 – styvane