我在集合中有以下记录,我正在尝试编写查询以获取“ 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"
},
答案 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} )