我正在尝试编写mongodb查询。
我有一整套这种格式的文件
{
"_id" : "_id1",
"participants" : [
{
"email" : "email0@gmail.com"
},
{
"email" : "email1@gmail.com"
},
{
"email" : "email2@outlook.com"
}
]
}
{
"_id" : "_id2",
"participants" : [
{
"email" : "email3@gmail.com"
},
{
"email" : "email4@gmail.com"
}
]
}
我想从mongodb返回一个只有这样的电子邮件的数组
[email0@gmail.com, email1@gmail.com,email2@gmail.com,email3@gmail.com,email4@gmail.com]
这可以在Mongodb 2.6中做到吗?
答案 0 :(得分:1)
{
"emails" : [
"email0@gmail.com",
"email1@gmail.com",
"email2@outlook.com",
"email3@gmail.com",
"email4@gmail.com"
]
}
结果将是
sub foo { say &?ROUTINE.name }
foo
如果你只想要unqiue电子邮件,那么你可以在$ group stag中使用$ addToSet而不是$ push