如何编写查询以获取“ project_branch_config”字段中特定键的值?

时间:2019-09-16 19:24:50

标签: mongodb

我在集合中有以下记录,我正在尝试编写查询以获取“ project_branch_config”字段中特定键的值,我的查询db.getCollection('build_configs').find({"project_branch_config":"ACIWiFiDriver"})没有产生任何结果吗?有关如何操作的任何指导解决这个问题?

对于这个用例,我是否应该以不同的方式(而不是词典列表)来构造我的记录?

以下是我收藏中的一条记录

{
    "_id" : ObjectId("5d7fd4a33e398ff0cca87fe2"),
    "train" : "trainB",
    "project_branch_config" : [ 
        {
            "ACItechDriver" : "trainB"
        }, 
        {
            "techCapture" : "trainB "
        }
    ]
}

我的查询

db.getCollection('build_configs').find({"project_branch_config":"ACIWiFiDriver"})

当前输出:-

在3毫秒内获取了0条记录

EXPECTED OUTPUT:-

        {
            "ACItechDriver" : "trainB"
        }, 

1 个答案:

答案 0 :(得分:0)

在您的问题中,我可以查询“ ACIWiFiDriver”,但期望的运算符是“ ACItechDriver”。我认为这是一个错字

要检查该字段是否存在,请使用以下查询:

db.build_configs.find({"project_branch_config.ACItechDriver": {$exists: true}}, {_id: 0, "project_branch_config.ACItechDriver": 1} )

要检查该字段是否具有特定值,请使用以下查询:

db.subdoc.find({"project_branch_config.ACItechDriver": "trainB"}, {_id: 0, "project_branch_config.ACItechDriver": 1} )