我想基于作为文档的值找到mongo文档。具体来说,我想找到'fb_creative_id'
等于{'ios': 'bob', 'android': 'ann'}
的文档。看来,根据下面的控制台输出,键/值的顺序很重要。这是对的吗?
> db.coll.findOne({'fb_creative_id': {'android': 'ann', 'ios': 'bob'}})
null
> db.coll.findOne({'fb_creative_id': {'ios': 'bob', 'android': 'ann'}})
{
"_id" : ObjectId("5489c7885464bbcc5b6468c3"),
"fb_creative_id" : {
"ios" : "bob",
"android" : "ann"
}
}
答案 0 :(得分:2)
如果你要查询的是子文档,那么字段顺序就像documentation
中提到的那样重要当字段包含嵌入文档时,查询可以指定嵌入文档的完全匹配,也可以使用dot notation指定嵌入文档中各个字段的匹配。
您需要使用此处的dot notation:
db.coll.findOne(
{
'fb_creative_id.ios': 'bob',
'fb_creative_id.android': 'ann'
}
)