MongoDB学习笔记
来源:互联网 发布:eureka api java 编辑:程序博客网 时间:2024/06/07 22:07
这篇博客主要是记录自己对mongodb的学习,毕竟mongodb被使用的并不多,免得当不用mongodb后,对mongodb忘记的一干二净。
一.mongodb的基本介绍
mongodb是一种NOSQL数据库,和mysql这样的数据库最大的不同就是它扩展很灵活,没有数据列的限制,不用像mysql那样如果要新增一个字段就需要改表结构,所以增加字段很方便,而且列字段的长度也不用设置。但mongodb也没有关系型数据库其他的功能,例如多行事物和联合查询(join)
mongodb和mysql的结构对比
文本中存储的是一个个的键值对,例如
{"key":1000,"name":"张三","age":24}
mongodb的数据类型有九种
1.null,代表空值或不存在的值。
2.字符串。
3.数值,能表示整数和浮点型。
4.布尔类型,true或false。
5.数组,{"a":[1,2,3]}。
6.日期:{"time":new Date()}。
7.内嵌文档,例如{"a":{"b":"c"}}。
8.ObjectId,12个字节的id,是文档唯一标示,每新增一个文档,mongodb都会自动给这个文档创建一个ObjectId对象。
9.正则表达式。
二.mongodb增删改查
这里我没有用windows上的cmd来演示,而是用mongodb的可视化工具Robo 3T来演示。
1.查询和创建数据库
show dbs显示当前连接下有多少数据库
如果monday数据已经存在,那么就选中monday数据库,如果monday不存在,那就创建monday数据库,例如下图就创建了monday数据库,
但是如果数据库monday里面没有任何数据,这时运行show dbs,在显示结果里是没有monday的。
use monday
在数据库下面创建集合,也就是表。
db.createCollection("use")
显示当前数据库中的集合
show collections
删除use集合
db.use.drop()
删除当前数据库
db.dropDatabase()
2.新增数据
新增关键字insert,新增的文档要用花括号括起来,键值对之间用逗号隔开,value值如果是字符串型得用双引号,key值可加可不加双引号。
db.use.insert({"name":"素还真","age":"26","type":"军师","address":"苦境"})
批量新增数据
db.use.insertMany([{"name":"一页书","age":32,"type":"战士","address":"苦境"},{"name":"倦收天","age":28,"type":"战士","address":"道境"}])
批量插入,注意,一定要有中括号,两个文档之间用逗号隔开。
3.查询数据
mongodb查询数据的关键字是find。find()会查询出所有的文档,当文档数大于20的时候,就只显示20条
db.use.find()
带有条件的查询语句,如果带有多个条件,条件之间用逗号隔开
db.use.find({"name":"素还真","age":"26"})
一些特殊条件的查询
比较操作符:$gt,$gte,$lt,$lte分别表示>,>=,<,<=
查询age大于27的
db.use.find({"age":{$gt:27}})
or,in,nin的使用
db.use.find({"address":{$in:["苦境","魔界"]}})
db.use.find({$or:[{"address":"苦境"},{"name":"倦收天"}]})
mongodb模糊查询的关键字是regex
select * from student where name like ’%joe%’上面的查询语句相当于
db.student.find({name:{$regex:/joe/}})
limit(),skip(),sort()函数
limit的作用是限制显示查询出数据的条数,例如limit(20),就是显示查询出的前20条,当查询出来的数据小于20的时候,全部显示
db.use.find().limit(2)
skip()函数是忽略查询的前多少条数据,而显示后面的数据,例如skip(3)表示忽略前面的三条数据,而从第四条开始显示
db.use.find().skip(1)
sort()函数作用是排序,sort(key:value),其中key是要排序的健值,value为1或-1,1代表升序,-1代表降序,例如sort("age":1)表示对查询出的文档按age升序显示
db.use.find().sort({"age":1})
3.mongodb的修改操作
mongodb修改操作的关键字是update,update的操作以下面的例子来说明
db.use.update({"age":{$gt:18}},{$set:{"address":"妖界"}},true,true)
第一个参数表示更新的查询条件,{"age":{$gt:18}}表示更新age大于18的文档
第二个参数表示要更改的数据,{$set{"address":"妖界"}}表示要将address对应的值替换成"妖界"
第三个参数为true表示当查询条件查到了文档,就更新文档,当没有查到文档,就新增要更新的数据。
第四个参数表示当查询条件找出多条的时候,true表示这多条数据都更新,false表示只更新一条数据。
db.use.update({"age":26},{$set:{"name":"素还真","address":"苦境","type":"智慧"}})
$set更新的时候,如果其中的key值,在文档中没有,就会将这个key插入到文档中
当第三个参数是true的时候,如果第一个条件在集合没有查找到对应的文档,那么就会将$set里面的值作为一个新的文档插入到集合中
当第四个参数为tru的时候,会更新所有满足第一个条件查询出来的文档,如果第四个参数是false,会更新第一个条件查询出的第一个文档,
下面的更新语句就一下更新了两条
4.mongodb的删除操作
mongodb的删除操作关键字有两个remove和drop
remove只会删除集合中的文档,而不会删除集合以及集合里面的索引
drop会将集合删除,所以集合里的数据和索引都会删除
remove只会删除集合中的文档,而不会删除集合以及集合里面的索引
drop会将集合删除,所以集合里的数据和索引都会删除
以上是我学习mongodb的一篇记录博客,很浅显,这篇博客只为记录,当自己以后要用到mongodb的时候,回过头查看此博客的时候能更容易想起来
阅读全文
0 0
- mongodb 学习笔记一
- mongodb学习笔记
- MongoDB学习笔记
- MongoDB学习笔记
- MongoDB 学习笔记
- mongodb sharding 学习笔记
- MongoDB学习笔记
- mongoDB的学习笔记
- mongodb学习笔记
- [转]MongoDB学习笔记
- mongoDB学习笔记整理
- mongodb学习笔记一
- mongodb学习笔记
- mongodb学习笔记
- mongodb学习笔记
- MongoDB 学习笔记
- MongoDB 学习笔记
- MongoDB学习笔记《三》
- 斐波那契数c语言程序
- 1042. 字符统计(20)——C语言
- HTML卡片经过动画效果
- UCI
- keepalived配置文件详解
- MongoDB学习笔记
- C++笔试题(剑指offer 面试题4 替换字符串中的空格)
- 优化:深度学习优化算法
- Spring boot 五 jdbcTemplate
- BZOJ3110 K大数查询 【线段树 + 整体二分 或 树套树(非正解)】
- 第五届电气学院比赛之XXX——BUCK电路的设计(暂存)
- 欢迎使用CSDN-markdown编辑器
- go
- Linux常用命令