我有一个collection
包含list
的dicts
我想搜索,如果任何字典包含两个特定的key:values
。MongoDB搜索集合中的每个字典
因此,例如我想要find_one
其中字典包含特定的名字和姓氏。这是我收集:
{
"names": [
{
"firstName": "bob",
"lastName": "jones",
"age": "34",
"gender": "m"
},
{
"firstName": "alice",
"lastName": "smith",
"age": "56",
"gender": "f"
},
{
"firstName": "bob",
"lastName": "smith",
"age": "19",
"gender": "m"
},
]
}
我想看看是否有与鲍勃·史密斯的纪录是第一个和最后的名字,我正在寻找此为:
first = 'bob'
last = 'smith'
nameExists = db.user.find_one({'$and':[{'names.firstName':first,'names.lastName':last}]})
这会查询检索的一个记录鲍勃史密斯?
感谢这就是我想要的只是匹配一个特定的子文档。我也会读''elemMatch'。 – user94628 2014-10-09 11:25:33
如果您的意图是仅返回匹配的单个元素,请参阅[位置'$'](http://docs.mongodb.org/manual/reference/operator/projection/positional/)运算符文档。 – 2014-10-09 12:48:00
谢谢我会看看那个。 – user94628 2014-10-09 19:53:31