MongoDB笔记四——查询操作
发表于:2025-01-20 作者:千家信息网编辑
千家信息网最后更新 2025年01月20日,1、指定返回键2、查询条件2.1比较操作符$lt<{age:{$gte:22,$lte:27}}$lte<=$gt>$gte>=$ne!=2.2查询条件查询25到27岁的学生的姓名和年龄db.pers
千家信息网最后更新 2025年01月20日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安全错误
数据库的锁怎样保障安全
成都宠物软件开发
金碟 无效的服务器
腾讯安全网络安全中心
湛江网络安全委员招聘
我的世界红石服务器图片
软件开发工程师安防
逛逛吧互联网科技怎么样
学校网络安全职能部门
湖南软件开发解决方案代理
nas服务器内存排行
刀塔传奇 服务器时间
说网络安全的重要性
数据库分割试
怎样打开电脑服务器管理器
闵行区营销软件开发品质保障
热血传奇手游换服务器
埃辛诺斯 数据库
服务器加内存条图解
邯郸企业软件开发费用是多少
戴尔服务器报安全电压错
服务器带外管理协议
scc数据库
国产软件开发龙头股
服务器网关生产厂
湖南服务器回收公司
幼儿园网络安全展板版面布置
网络安全为什么加密
台州中宏网络技术有限公司官网
广州市泓泽网络技术有限公
软件开发学习枯燥吗