MongoDB笔记四——查询操作
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,1、指定返回键2、查询条件2.1比较操作符$lt<{age:{$gte:22,$lte:27}}$lte<=$gt>$gte>=$ne!=2.2查询条件查询25到27岁的学生的姓名和年龄db.pers
千家信息网最后更新 2025年11月07日MongoDB笔记四——查询操作1、指定返回键2、查询条件2.1比较操作符
2.2查询条件查询25到27岁的学生的姓名和年龄db.persons.find({age:{$gte:25,$lte:27}},{_id:0,name:1,age:1})查询出所有不是韩国学生的数学成绩db.persons.find({country:{$ne:"Korea"}},{_id:0,country:1,m:1})2.3包含和不包含($in $nin)查询国籍是中国或者美国的学生的姓名和国家db.persons.find({country:{$in:["China","USA"]}},{_id:0,name:1,country:1})查询国籍不是中国或者美国的学生的姓名和国家db.persons.find({country:{$nin:["China","USA"]}},{_id:0,name:1,country:1})2.4OR查询语文成绩大于85或者英语成绩大于90的学生信息db.persons.find({$or:[{c:{$gt:85}},{e:{$gt:90}}]},{_id:0,name:1,c:1,e:1})2.5NULL查询出sex是null的学生先将中国的学生增加性别db.persons.update({country:"China"},{$set:{sex:"m"}},false,true)进行查询操作db.persons.find({sex:{$in:[null]}},{_id:0,country:1})2.6正则查询db.persons.find({name:/zhangsan},{_id:0,name:1})2.7$not的使用取反db.person.find({name:{$not:/zhang/}},{_id:0,name:1})2.8$all和index的应用查询喜欢"Mongodb"和"JS"的学生db.persons.find({books:{$all:["MONGODB","JS"]}},{_id:0,books:1,name:1})查询第二本书是java的学生的信息db.persons.find({"books.1":"JAVA"},{_id:0,name:1,books:1})2.9查询指定长度的数组$size,它不能和比较符一起使用。(弊端)db.persons.find({books:{$size:5}},{_id:0,name:1})2.10查询jim书架上第2~4本书db.persons.find({name:"jim"},{books:{$slice:[1,3]}})2.11查询出最后一本书db.persons.find({name:"jim"},{books:{$slice:-1},_id:0,name:1})2.12文档查询给jim添加学历文档var jim = [{
school :"K",
score:"A"
},{
school :"L",
score:"B"
},{
school :"J",
score:"A+"
}]
db.persons.update({name:"jim"},{$set:{school:jim}})查询出在K上过学的学生db.persons.find({"school.school":"K"},{_id:0,name:1})db.persons.find({school:{$elemMatch:{"school":"K"}}},{_id:0,name:1})2.13$where查询年龄大于22岁,喜欢看C++书,在K学校上过学的学生信息复杂的查询我们就可以用$where因为他是万能但是我们要尽量避免少使用它因为他会有性能的代价
db.persons.find({"$where":function(){
//得到查询结果的每一条文档
var books = this.books;
//得到文档中的school对象
var school = this.school;
//如果年纪>=22
if(this.age > 22){
var php = null;
//遍历书籍
for ( var i = 0; i < books.length; i++) {
if(books[i] == "C++"){
php = books[i];
//如果学校是真
if(school){
for (var j = 0; j < school.length; j++) {
//判断是不是在K上学
if(school[j].school == "K"){
//返回是真
return true;
}
}
break;
}
}
}
}
}})
| $lt | < | {age:{$gte:22,$lte:27}} |
| $lte | <= | |
| $gt | > | |
| $gte | >= | |
| $ne | != |
school :"K",
score:"A"
},{
school :"L",
score:"B"
},{
school :"J",
score:"A+"
}]
db.persons.update({name:"jim"},{$set:{school:jim}})查询出在K上过学的学生db.persons.find({"school.school":"K"},{_id:0,name:1})db.persons.find({school:{$elemMatch:{"school":"K"}}},{_id:0,name:1})2.13$where查询年龄大于22岁,喜欢看C++书,在K学校上过学的学生信息复杂的查询我们就可以用$where因为他是万能但是我们要尽量避免少使用它因为他会有性能的代价
db.persons.find({"$where":function(){
//得到查询结果的每一条文档
var books = this.books;
//得到文档中的school对象
var school = this.school;
//如果年纪>=22
if(this.age > 22){
var php = null;
//遍历书籍
for ( var i = 0; i < books.length; i++) {
if(books[i] == "C++"){
php = books[i];
//如果学校是真
if(school){
for (var j = 0; j < school.length; j++) {
//判断是不是在K上学
if(school[j].school == "K"){
//返回是真
return true;
}
}
break;
}
}
}
}
}})
查询
学生
文档
信息
姓名
成绩
中国
国家
国籍
学校
年龄
条件
美国
C++
复杂
书架
书籍
代价
学历
对象
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
方舟服务器管理怎怎么刷东西
南川区一站式软件开发流程标志
聊生活百态提升网络安全意识
魔兽世界新开区有多少服务器
死机 服务器
软件开发需要阅读的书籍
数据库开放服务体系
副服务器提示未管理
数据库驱动类的名称哪儿看
web服务器软件是干嘛的
在线excel数据保存到数据库
网络安全员的主要工作内容
nba2k连接服务器没反应
滇剧艺术数据库
小程序直接访问远程数据库吗
软件开发意向职位
VB数据库查询代码
数据库可以找工作吗
数据库表格个别数据不输入
网络技术军官
聚会网络安全
财富管理软件开发团队
长宁区正规数据库系统定做价格
暗黑破坏神2重制版各服务器区别
虚拟账号注册软件开发
软件开发选pro还是air
网络安全培训实训报告
网络技术岗位是做什么的
汉王人脸数据库
数据库是一个独立软件吗