首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在mongodb中查询对象数组

在mongodb中查询对象数组
EN

Stack Overflow用户
提问于 2014-07-24 12:27:45
回答 1查看 84关注 0票数 0

我是mongodb的初学者,我想从一个对象数组中找到不同的对象。

我的文件是这样的:

代码语言:javascript
复制
    "_class" : "com.fico.ifm.translation.domain",

    "_id" : ObjectId("53a2bccae4b0200bdf7e7bc2"),

    "screens" : [ 
        {
            "_id" : "systemParametersInvestigation",
            "dictionary" : [ 
                {
                    "locale" : "en-US",
                    "parameterizedValue" : "Edit close investigation configuration",
                    "key" : "CLOSE_INVESTIGATION_UPDATE_ALLOWED"
                }, 
                {
                    "locale" : "pt-BR",
                    "parameterizedValue" : "",
                    "key" : "CLOSE_INVESTIGATION_UPDATE_ALLOWED"
                }, 
                {
                    "locale" : "nl-NL",
                    "parameterizedValue" : "",
                    "key" : "CLOSE_INVESTIGATION_UPDATE_ALLOWED"
                }, 
                {
                    "locale" : "en-US",
                    "parameterizedValue" : "Close investigation update setting",
                    "key" : "CLOSE_INVESTIGATION_UPDATE_ALLOWED_DESCRIPTION"
                }, 
                {
                    "locale" : "pt-BR",
                    "parameterizedValue" : "",
                    "key" : "CLOSE_INVESTIGATION_UPDATE_ALLOWED_DESCRIPTION"
                }
]

}

 {
            "_id" : "adminRoles",

            "dictionary" : [ 
                {
                    "locale" : "en-US",
                    "parameterizedValue" : "Add all",
                    "key" : "ADD_ALL"
                }, 
                {
                    "locale" : "pt-BR",
                    "parameterizedValue" : "",
                    "key" : "ADD_ALL"
                }, 
                {
                    "locale" : "nl-NL",
                    "parameterizedValue" : "",
                    "key" : "ADD_ALL"
                }, 
                ]

我想在screensi.dictionary中找到不同的“关键”

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-07-24 12:44:15

代码语言:javascript
复制
db.yourcoll.aggregate([
{
    $unwind:"$screens"
},{
    $unwind:"$screens.dictionary"
},{    
    $group: {
        _id:"$_id",
        distinctKey:{$addToSet:"$screens.dictionary.key"}
    }
},{

    $project: {
        "_id" : 0,
        "distinctKey":1
    }

}  
])

结果:

代码语言:javascript
复制
{
    "result" : [ 
        {
            "distinctKey" : [ 
                "CLOSE_INVESTIGATION_UPDATE_ALLOWED_DESCRIPTION", 
                "CLOSE_INVESTIGATION_UPDATE_ALLOWED"
            ]
        }
    ],
    "ok" : 1
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24933705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档