mongoDB查询之$elemMatch

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}}
})

你可能感兴趣的:(mongoDB查询之$elemMatch)