一、Find查询
事前准备:插入如下数据
db.Students.insert([
{ _id:1, name:"Zhao", age:25, country:"USA", books:["JS","C++","EXTJS","MONGODB"]},
{ _id:2, name:"Qian",age:22, country:"USA", books:["PHP","JAVA","EXTJS","C++"]},
{ _id:3,name:"Sun",age:26, country:"USA", books:["JS","JAVA","C#","MONGODB"]},
{ _id:4, name:"Li",age:27,country:"China",books:["JS","JAVA","EXTJS","MONGODB"]},
{ _id:5,name:"Zhou", age:30,country:"China",books:["JS","C#","PHP","MONGODB"]},
{ _id:6, name:"Wu", age:27, country:"Japan", books:["JS","JAVA","C++","MONGODB"]},
{ _id:7, name:"Zheng", age:27, country:"UK", books:["JS","JAVA","EXTJS","PHP"]},
{ _id:8, name:"Wang", age:26, country:"Korea",books:["JS","C#","EXTJS","MONGODB"]}
])
1.指定返回的键
db.[文档名].find ({条件},{键指定})
查询出所有数据的指定键(name ,age ,country)
db.Students.find({},{name:1,age:1,country:1,_id:0})
- ※条件不写就是查询全部
- ※需要查询的就在键后指定为1,不用就指定为0(感觉只要想查的键后面有值不见得非得是1)
- ※如果不指定显示=式_id:0,那查询过程都是带有_id的
2.查询条件
比较操作符 | 意义 | 举例 |
---|---|---|
$lt | < | 查询出id小于5的学生 > db.Students.find({_id:{$lt:5}},{}) |
$lte | <= | 查询出年龄小于等于25岁之间的学生 > db.Students.find({age:{$lte:25}},{}) |
$ne | != | 查询出国家不是中国的学生 > db.Students.find({country:{$ne:"China"}},{}) |
$gt | > | 查询所有年纪大于27岁的,中国学生名字 > db.Students.find({age:{$gt:27}},{name:1,country:1,age:1}) { "_id" : 5, "name" : "Zhou", "age" : 30, "country" : "China" } |
$gte | >= | 同上 |
3.包含或不包含
较操作符 | 意义 | 举例 |
---|---|---|
$in | 包含 | 查询国家是中国和美国的学生 > db.Students.find({country:{$in:["China","USA"]}},{}) |
$nin | 不包含 | 查询年龄不是27岁的学生 > db.Students.find({age:{$nin:[27]}},{}) |
4.OR查询
较操作符 | 意义 | 举例 |
---|---|---|
$or | 包含 | 查询年龄小于27岁,或者国家是美国的学生 >db.Students.find({$or:[{age:{$lt:27}},{country:"USA"}]},{}) 查询年龄大于等于30岁,或者国家是不是美国的学生 >db.Students.find({$or:[{age:{$gte:30}},{country:{$nin:["China"]}}]},{}) |
5.Null
为所有美国学生添加性别属性为男性(M)
> db.Students.update({country:"USA"},{$set:{sex:"M"}},false,true)
查询所有sex属性为null的学生
> db.Students.find({sex:{$in:[null]}},{name:1,country:1})
6.正则查询
查询出名字中存在”Zh”的学生的信息
> db.Students.find({name:/Zh
本文标题为:MongoDB实现查询、分页和排序操作以及游标的使用
基础教程推荐
- 【Redis】数据持久化 2023-09-12
- Sql Server Management Studio连接Mysql的实现步骤 2023-07-29
- SQLServer 清理日志的实现 2023-07-29
- python中pandas库的iloc函数用法解析 2023-07-28
- Mysql主从三种复制模式(异步复制,半同步复制,组复 2022-09-01
- Python常见库matplotlib学习笔记之多个子图绘图 2023-07-27
- 关于MySQL中explain工具的使用 2023-07-27
- 如何将excel表格数据导入postgresql数据库 2023-07-20
- Redis如何实现延迟队列 2023-07-13
- Mysql查询所有表和字段信息的方法 2023-07-26