Mongo数据库操作(五)
var persons = [{
name:"jim",
age:25,
email:"75431457@qq.com",
c:89,m:96,e:87,
country:"USA",
books:["JS","C++","EXTJS","MONGODB"]
},
{
name:"tom",
age:25,
email:"214557457@qq.com",
c:75,m:66,e:97,
country:"USA",
books:["PHP","JAVA","EXTJS","C++"]
},
{
name:"lili",
age:26,
email:"344521457@qq.com",
c:75,m:63,e:97,
country:"USA",
books:["JS","JAVA","C#","MONGODB"]
},
{
name:"zhangsan",
age:27,
email:"2145567457@qq.com",
c:89,m:86,e:67,
country:"China",
books:["JS","JAVA","EXTJS","MONGODB"]
},
{
name:"lisi",
age:26,
email:"274521457@qq.com",
c:53,m:96,e:83,
country:"China",
books:["JS","C#","PHP","MONGODB"]
},
{
name:"wangwu",
age:27,
email:"65621457@qq.com",
c:45,m:65,e:99,
country:"China",
books:["JS","JAVA","C++","MONGODB"]
},
{
name:"zhaoliu",
age:27,
email:"214521457@qq.com",
c:99,m:96,e:97,
country:"China",
books:["JS","JAVA","EXTJS","PHP"]
},
{
name:"piaoyingjun",
age:26,
email:"piaoyingjun@uspcat.com",
c:39,m:54,e:53,
country:"Korea",
books:["JS","C#","EXTJS","MONGODB"]
},
{
name:"lizhenxian",
age:27,
email:"lizhenxian@uspcat.com",
c:35,m:56,e:47,
country:"Korea",
books:["JS","JAVA","EXTJS","MONGODB"]
},
{
name:"lixiaoli",
age:21,
email:"lixiaoli@uspcat.com",
c:36,m:86,e:32,
country:"Korea",
books:["JS","JAVA","PHP","MONGODB"]
},
{
name:"zhangsuying",
age:22,
email:"zhangsuying@uspcat.com",
c:45,m:63,e:77,
country:"Korea",
books:["JS","JAVA","C#","MONGODB"]
}]
for(var i = 0;i<persons.length;i++){
db.persons.insert(persons[i])
}
var persons = db.persons.find({name:"jim"})
while(persons.hasNext()){
obj = persons.next();
print(obj.books.length)
}
查询指定的字段
//查询条件为全部,指定要查询的字段,若查询为1,不查询为0
db.persons.find({},{_id:0,name:1,country:1})
比较操作符
$lt:<
$lte:<=
$gt:>
$gte:>=
$ne:!=
例如:查询29>=age>=27
db.persons.find({age:{$gte:27,$lte:29}},{_id:0,name:1,age:1})
查询不是韩国的数学成绩
db.persons.find({country:{$ne:"Korea"}},{m:1,country:1})
包含$in
不包含$nin
查询美国与中国的学生
db.persons.find({country:{$in:["USA","China"]}},{_id:0,name:1,country:1})
查询不是中国或美国的学生
db.persons.find({country:{$nin:["USA","China"]}},{_id:0,name:1,country:1})
查询语文成绩大于85或者英语成绩大于90的学生名字
db.persons.find({$or:[{c:{$gt:85}},{e:{$lt:90}}]},{_id:0,name:1,c:1,e:1})
把中国国籍的学生上增加新的键sex
db.persons.update({country:"China"},{$set:{sex:"m"}},false,true)
查询出sex等于null的学生
db.persons.find({sex:{$in:[null]}},{_id:0,name:1,country:1,sex:1})
正则查询
查询出名字存在“li”的学生信息
db.persons.find({name:/li/i},{_id:0,name:1,country:1,sex:1})
$not可以用到任何地方进行取反操作
查询名字中不存在“li”的学生的信息
db.persons.find({name:{$not:/li/i}},{_id:0,name:1,country:1,sex:1})
查询喜欢看mongod和js的学生
db.persons.find({books:{$all:["MONGODB","JS"]}},{books:1,_id:0})
查询第二本书是Java的学习信息
db.persons.find({"books.1":"JAVA"},{books:1,_id:0})
查询指定长度数组$size,它不能与比较查询符一起使用(这是弊端)
db.persons.find({books:{$size:4}},{books:1,_id:0})
1、增加字段size
db.persons.update({},{$set:{size:4}},false,true)
2、改变书籍的更新方式,每次增加书籍的时候size怎加1
db.persons.update({查询器},{$push:{books:"ORACLE"},$inc:{size:1}})
3、利用$gt查询
var persons=db.persons.find({name:"jim"})//返回的是游标
循环游标
while(persons.hasnext()){
obj=persons.next();
print(obj.books.length)
}
查询出jim书架中第二本到第四本书
db.persons.find({name:"jim"},{books:{$slice:[1,3]}})
查询出jim书架中的最后一本书
db.persons.find({name:"jim"},{books:{$slice:-1}})
var jim = [{
school :"K",
score:"A"
},{
school :"L",
score:"B"
},{
school :"J",
score:"A+"
}]
db.persons.update({name:"jim"},{$set:{school:jim}})
db.persons.find({school:{$elemMatch:{school:"K",score:"A"}}})
查询年龄大于22岁,喜欢看c++书,在k学校上过学的学生信息
var school = this.school;
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++) {
if(school[j].school == "K"){
return true;
}
}
break;
}
}
}
}
}})
查询persons中前5条书籍
db.persons.find({},{_id:0,name:1}).limit(5)
查询出persons文档中5-10条数据
db.persons.find({},{_id:0,name:1}).limit(5).skip(5)
返回按照age排序的结果
db.persons.find({},{_id:0,name:1,age:1}).limit(5).skip(5).sort({age:1})
Mongo数据库操作(五)相关推荐
- Android开发笔记(一百七十五)利用Room简化数据库操作
虽然Android提供了数据库帮助器,但是开发者在进行数据库编程时仍有诸多不便,比如每次增加一张新表,开发者都得手工实现以下代码逻辑: 1.重写数据库帮助器的onCreate方法,添加该表的建表语句: ...
- Mongo数据库的操作
文章目录 一,Mongo数据库启动 二,连接数据库 三,数据库的简单操作 (一)查看数据库 (二)创建数据库or切换数据库 (三)删除数据库 (四)删除集合 一,Mongo数据库启动 在 start. ...
- php操作数据库的五个步骤,请写出PHP操作数据库的五个步骤
请写出PHP操作数据库的五个步骤 答: 连接数据库服务器 选择数据库 执行SQL语句 处理结果集 关闭资源,释放连接 上盘相对下降,下盘相对上升的断层是 答:正断层 绍兴文戏时期分为男班时期和女班时期 ...
- linux mongo数据库启动及相关操作
启动mongodb服务 首先需要建立一个文件夹,用来存放mongodb产生的数据库文件. 为了便于管理,我们将该文件夹放在mongodb安装目录下,即和bin目录平级. mkdir /usr/loca ...
- MongoDB(4):Docker下使用命令操作Mongo数据库
Docker下使用命令操作mongo数据库 1.容器相关 #查询docker,查询到CONTAINER ID(容器id) $docker ps #进入Docker docker exec -it 09 ...
- golang中连接mongo数据库并进行操作
golang中连接mongo数据库并进行操作 golang中连接mongo数据库并进行操作 首先,我们需要下载mongo模块 执行 go get github.com/mongodb/mongo-go ...
- iOS学习笔记(十五)——数据库操作(SQLite)
SQLite (http://www.sqlite.org/docs.html) 是一个轻量级的关系数据库.SQLite最初的设计目标是用于嵌入式系统,它占用资源非常少,在嵌入式设备中,只需要几百K的 ...
- python连接access数据库查询并打印出来_python 查询 access数据库操作
日志服务使用Python SDK快速入门指南 为快速开始使用日志服务Python SDK,请按照如下步骤进行: 创建阿里云账号 为了访问阿里云日志服务,你需要有一个阿里云账号.如果没有,可首先如下创建 ...
- C语言与数据库操作入门(Win版)
数据库,DataBase,学C语言的是不是想说,很想爱她却并不容易呢?不用着急,C语言也可以操作数据库的,既使你不会Windows API,只要参照本文的方法,写数据库应用程序,你也行.本文以MySq ...
最新文章
- 下一次工业革命:计算生物学与生物平台
- python之装饰器篇
- 0121 - 开始学习 EOS 编程
- 倒计时1天:AI在改变一切
- moore和mealy_Mealy机和Moore机的比较研究 目录
- 大一计算机应用的实验报告,大一《计算机应用基础》实验报告1.doc
- 违反学校防疫规定,这所211高校两研究生被通报批评!
- MySQL日期时间函数大全
- 《嵌入式 – GD32开发实战指南》第5章 跳动的心脏-Systick
- HTTP Live Streaming直播(iOS直播)技术分析与实现
- mysql从库binlog_转 mysql 主从复制以及binlog 测试 (5.7)
- BLUP育种值如何计算准确性
- 远距离激光多脉冲测距TDC2K8S芯片使用
- 计算机专业被check后拒签,签证被Check是怎么一回事?解读美签的几种情况
- 【可视化】对比与位置的艺术 - how we position and what we compare
- Vue3 的生命周期函数
- vue使用addrouter添加动态路由
- SpringBoot整合Swagger2/Swagger3之拦截器配置
- maxon产品手册 产品指南 中文版(2019)
- 易飞ERP安全批量清除报表队列中的信息