返回我的集合中的一个子文档变量的值

时间:2016-09-18 03:13:16

标签: json mongodb

我正在尝试编写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中做到吗?

1 个答案:

答案 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