【发布时间】:2022-01-01 15:31:13
【问题描述】:
我有一个这样的文件:
{"_id" : ObjectId("5836b91788538303"),
"Name" : "Maria",
"Email" : "mgarciasanz@gmail.es",
"Age" : 34,
"Contacts": [
{"Contact_user" : {
"_id" : ObjectId("5836b916885383"),
"Name" : "Alejandro",
"Email" : "aamericagarzon@hotmail.es",
"Age" : 32}},
{"Contact_user" : {
"_id" : ObjectId("5836b916888956"),
"Name" : "Victor",
"Email" : "ctiernocrespo@hotmail.es",
"Age" : 41}},
{"Contact_user" : {
"_id" : ObjectId("5836b9168880987"),
"Name" : "Agata",
"Email" : "adelgadosanchez@hotmail.es",
"Age" : 37}},
...
]}
我需要的第一件事是将"Email" 与“mgarciasanz@gmail.es”匹配,第二步是过滤子文档以获取年龄大于或等于 36 岁的联系人。我已经尝试过展开、双重匹配条件、过滤器......但我没有进入解决方案。
此外,我需要这样的输出:
{"Email" : "mgarciasanz@gmail.es", "Contact_email" : "vtiernocrespo@hotmail.es", "Contact_age" : 41}
{"Email" : "mgarciasanz@gmail.es", "Contact_email" : "adelgadosanchez@hotmail.es", "Contact_age" : 37}
{"Email" : "mgarciasanz@gmail.es", "Contact_email" : "tjazmintablas@hotmail.es", "Contact_age" : 36}
如何才能在每个输出句子中重复"Email"?
提前谢谢你
【问题讨论】:
标签: mongodb aggregation-framework