SpringBoot2>01-MongoDB基础
MongoDB 简介:
介于关系型数据库和非关系型数据库之间,最像关系型数据库的NoSQL 数据库,其支持的数据结构是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。
MongoDB 结构:
MongoDB 的体系结构主要包括:文档(document)、集合(collection)、数据库(database)三部分。
类比 MySQL 数据库如下:
MongoDB 使用:
1、Windows安装:
基本都是下一步下一步,目录如下:
2、docker 安装 MongoDB:
# 1、拉取镜像
docker pull mongo
# 2、创建容器
docker run -di --name test_mongodb -p 27017:27017 mongo
容器运行在默认的 27017 端口(default)。
3、远程连接:
使用 windows 客户端远程登录
# 远程登录命令
mongo 192.168.25.130
MongoDB 基本指令:
1、创建、使用数据库:
默认数据库为test,没有创建数据库则默认将集合(表)放到test数据库中。
# 创建数据库
use database_name
# 查看所有数据库
show dbs
此处coolron 数据库没有显示,是因为没有数据。
# 删除当前数据库
db.dropDatabase()
此处coolron 数据库没有显示,是因为没有数据。
2、创建集合(表):
# 创建集合(name:集合名称,options:参数)
db.createCollection(name, options)
# 查看已有的集合
show collections
# 删除集合
db.collection.drop()
例如:db.user.drop()
options 参数说明:
例如:
db.createCollection("mycol", { capped : true, autoIndexId : true, size : 6142800, max : 10000 } )
3、插入文档(表记录):
# 插入文档
save() 或者 insert()
# 语法
db.collection_name.insert(document)
注意:
-
"_id":类似MySQL的主键id,必须为"_id",如插入数据的时候没有指定,则自动创建。
-
整型使用NumberInt() ,默认为浮点型数值。
4、更新文档(表记录):
# 更新文档
save() 或者 update()
# 语法:
db.collection_name.update(条件, document)
如果更新一条记录,需要使用 $set 修改器来指定要修改的字段,不然修改某字段后,其他字段不见了。
5、删除文档(表记录):
# 删除文档
db.collection_name.remove(条件)
# 删除所有。不想被开除就不要用
db.collection_name.remove({})
6、查询文档(表记录):
db.collection_name.find(条件)
6.1、条件查询所有
pretty():格式化 limit(3):3条记录
6.2、模糊查询(like):
正则的方式:格式:/模糊字符串/
例如:查询 name 中包含 “r” 的记录。
^ : 以什么开头。/^w/ : 以 w 开头。
6.3、大于、小于、不等于
$gt : > , $lt : < , $gte : >= , $lte : <= , $ne : !=
6.4、包含关系
$in : 包含 $nin : 不包含
例如:查询 age 包含、不包含 16 和 18 的记录。
6.5、多条件连接(and)
语法:$and:[{ },{ },{ }]
例如:查询 age 小于 20 且 count 大于 80 的记录。
7、数据统计(count(*)):
db.collection_name.count(条件)
例如:查询总记录数、age 大于 20 的记录数
总结:
1、MongoDB docker 安装,运行默认 27017 端口,可自行指定。
2、理解文档、集合、数据库,分别与关系型数据库表记录、表、数据库对应。
3、数据结构为类似 JSON 的 BSON。
4、基本数据库、集合、文档的操作。类比关系型数据库。
个人学习分享
更多 springboot、springcloud、docker 文章,关注微信公众号吧: