MongoDB查询语句是平时经常使用到的,下面详解最常用的12条MongoDB查询语句。
MongoDB查询所有记录
命令:
db.users.find();
默认每页显示20条记录,可以通过用DBQuery.shellBatchSize来修改,比如:DBQuery.shellBatchSize= 50这样每页就显示50条记录了。
MongoDB查询记录总数
命令:
db.users.find().count();
获取用户总数。
MongoDB查询去重
命令:
db.uses.distinct("name");
MongoDB单条件查询
命令:
db.users.find({"age" : 28})
查询 age = 28 的记录,这就给MySQL的where age=28类似。
MongoDB多条件查询
命令:
db.users.find({"username" : "mikechen", "age" : 28})
查询username=mikechen,以及age=28的数据,与MySQL的where “username” = “mikechen” and age = 28类似。
MongoDB判断查询
命令:
db.users.find({"age" : {"$gte" : 18, "$lte" : 30}})
查询年龄age>=18,以及age<=30,这与MySQL的中的where age >=18 and age <= 30类似。
MongoDB模糊查询
命令:
db.users.find({name: /mikechen/});
模糊查询名字包含“mikechen”,相当于MySQL中的模糊查询:where name like ‘%mikechen%’;
MongoDB升序查询
命令:
db.users.find().sort({age: 1});
按照年龄排序 1 为升序 。
MongoDB降序查询
命令:
db.users.find().sort({age: -1});
按照年龄排序 , -1为 降序。
MongoDB限制返回查询
命令:
db.users.find().limit(5);
查询用户前5条数据。
MongoDB查询 N条后的数据
命令:
db.users.find().skip(10);
查询 10 条以后的数据。
MongoDB分页查询
命令:
db.users.find().limit(5).skip(2);
limit类似SQL的limit,skip类似SQL的offset偏移量。
用于分页,这个与MySQL的分页查询类似,limit 是 pageSize,skip 是第几页*pageSize。
以上就是MongoDB查询语句的介绍,希望对你掌握MongoDB有所帮助!
mikechen睿哥
mikechen睿哥,十余年BAT架构经验,资深技术专家,就职于阿里、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》