如何查询所有{"module" : "B"}
?
以下查询不起作用:
db.XXX.find({ "_id" : { "module" : "B" } });
非常感谢!
数据看起来像:
{
"_id" : {"module" : "A","date" : ISODate("2013-03-18T07:00:00Z")},
"value" : {"count" : 1.0}
}
{
"_id" : {"module" : "B","date" : ISODate("2013-03-18T08:00:00Z")},
"value" : {"count" : 2.0}
}
答案 0 :(得分:41)
尝试:
db.XXX.find({ "_id.module" : "B" });
不同之处在于您的原始查询将尝试匹配整个子文档(即_id是包含值为“B”的“模块”字段的子文档,并且没有其他内容)
答案 1 :(得分:1)
使用点符号:
db.XXX.find({ "_id.module" : "B" })
答案 2 :(得分:1)
对于Subdocument的完全匹配
db.bios.find(
{
'_id.module': 'B'
}
)
该查询使用dot
表示法访问subdocument
中的字段: