mongoDB查询之$elemMatch
1.插入示例数据
db.test.insert({
"class":"1",
"student":[
{"name":"mac","age":18,"sex":true},
{"name":"jack","age":19,"sex":true},
{"name":"rose","age":20,"sex":false}
]
})
2.查询名字叫mac的同学的班级信息
db.test.find({
"student.name":"mac"
})
结果:记录能被查询出来
3.查询名字叫mac,年龄20岁的同学的班级信息
db.test.find({
"student.name":"mac",
"student.age":20
})
结果:记录能被查询出来.这并不是我们想要的结果.我们的记录中是有一个叫mac的同学,但是他的年龄并不是20岁,所有这次查询是不正确的.
4.这个时候就需要用到$elemMatch
db.test.find({
"student":{$elemMatch:{"name":"mac","age":20}}
})