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 客户端远程登录

扫描二维码关注公众号,回复: 4979734 查看本文章
# 远程登录命令
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 文章,关注微信公众号吧:


在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/cp026la/article/details/86549479