一、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-07-13
- 在阿里云CentOS 6.8上安装Redis 2023-09-12
- 基于Python制作一个简单的文章搜索工具 2023-07-28
- MySQL8.0.28安装教程详细图解(windows 64位) 2023-07-26
- Mongodb启动报错完美解决方案:about to fork child process,waiting until server is ready for connections. 2023-07-16
- SQLSERVER调用C#的代码实现 2023-07-29
- Numpy中如何创建矩阵并等间隔抽取数据 2023-07-28
- redis清除数据 2023-09-13
- Oracle 删除大量表记录操作分析总结 2023-07-23
- SQL Server 2022 AlwaysOn新特性之包含可用性组详解 2023-07-29