三种NOSQL的一种,Redis MongoDB ES
应用场景:
1.社交场景:使用Mongodb存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人,地点等功能
2.游戏场景:使用Mongodb存储游戏用户信息,用户的装备,积分等直接以内嵌文档的形式存储,方便查询,高效率存储和访问
3.物流场景,使用MongoDB存储订单信息,订单状态在运送过程中会不断更新,以MongoDB内嵌数组的形式来存储,一次查询就将订单所有的变更读取出来
4.物联网场景,使用MongoDB存储所有接入点只能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度分析.
5.视频直播,使用MongoDB存储用户信息,点赞互动信息等.
这些应用场景,数据操作方面的共同特点是:
1.数据量大
2.写入操作频繁(读写都很频繁)
4.价值较低的数据,对事务性要求不高
对于这样的数据,适合使用MongoDB来实现数据的存储.
MongoDB简介:
MongoDB是开源,高性能,无模式的文档型数据库,设计初衷就是用于简化开发和方便扩展,是NOSQL数据库产品中的一种.是最像关系型数据库的非关系型数据库.
它支持的数据结构非常松散,是一种类似于JSON的格式叫BSON(二进制的JSON),所以它既可以存储比较复杂的数据类型,又相当的灵活
MongoDB中的记录是一个文档,它是一个由字段和值对(field:value)组成的数据结构.MongoDB文档类似于JSON对象,即一个文档认为就是一个对象.字段的数据类型是字符型,它的值除了使用基本的一些类型外,还可以包括其他文档,普通数据和文档数组.
体系结构
Window系统中的安装启动
Download MongoDB Community Server | MongoDB
这里就以4.2.24来
最简单的运行方式
mongod.exe --dbpath=..\data
这样只是指定了mongdb的数据库文件位置
更好的方式是 (文件名太长了 先改个名)
mongod.exe --config "D:\mongodb\mongodb-4.2.24\mongodb4.2.24\mongod.conf"
这样就可以将配置写在配置文件里
这个配置文件没有,新建一个
mongod.conf
#mongod.conf
#配置存储有关的信息
storage:
dbPath: D:\mongodb\mongodb-4.2.24\mongodb4.2.24\data\db
journal:
enabled: true
#指定日志有关信息
systemLog:
destination: file
quiet: true
logAppend: false
path: D:\mongodb\mongodb-4.2.24\mongodb4.2.24\logs\mongod.log
#配置网络有关的信息
net:
port: 27017
bindIp: 0.0.0.0
因为指定了data里的db
关于配置环境变量,无所谓,我这里没有配置,配置了环境变量就是说你在哪里都可以执行,没有配置就是要在指定目录执行命令
指定配置文件运行mongodb
mongod.exe --config "D:\mongodb\mongodb-4.2.24\mongodb4.2.24\mongod.conf"
这样就已经启动了
在db文件夹下初始化数据库启动
日志文件
这样在任务管理器中还是看不到
右键以管理员运行cmd
这样会注册到注册表启动
mongod.exe --config "D:\mongodb\mongodb-4.2.24\mongodb4.2.24\mongod.conf" --install
因为我没有配置环境变量
所以要先进目录
mongod.exe --config "D:\mongodb\mongodb-4.2.24\mongodb4.2.24\mongod.conf" --install
调成手动启动
注意下 有可能前面你已经启动了 导致后面端口暂用无法启动 查下端口暂用情况
在目录启动的方式 cmd窗口不要关 关了mongodb也关了
还是在窗口启动方便
执行这个命令
mongod.exe --config "D:\mongodb\mongodb-4.2.24\mongodb4.2.24\mongod.conf"
mongod.exe --config ../mongod.conf 这样也行
按ctrl+c 停掉
如果你已经注册过了 右键开启就好了
关于MongoDB 副本集节点(这里介绍下,就是多开几个MongoDB,要了解的找找资料)
差不多就是读写分离的概念
MongoDB副本集节点可分为三类
-主节点(Primary):接受所有的写请求,并将所有修改同步到所有副节点(Secondary)
-副节点(Secondary):与主节点保持相同的数据集.当主节点宕机的时候,其中之一会被选为主节点(Primary)
-仲裁节点(Arbiter):仲裁节点不保存数据,也不可能被选为主节点(Primary),它的作用是当主节点宕机时候,通过算法,选择一个副节点当主节点.仲裁节点对硬件资源要求很低,通常建议与主,副节点保存在不同机器上.
----------------------------------------------------------------------------------------------------
MongoDB的数据库链接
先启动MongoDB
ipconfig查看下自己ip
然后通过
mongo mongodb://192.168.56.1:27017 连接mongoDB
直接敲
mongo 命令也可以连接
show databases 或者 show dbs 查看当前节点所有数据库
db 查看当前连接的数据库 有可能该数据库不存在 只有当数据真正插入才会创建
use admin 使用这个数据库
db.dropDatabase() 删除数据库
db.help() 查看帮助文档
rs.help() 副本集相关
The MongoDB 4.2 Manual — MongoDB Manual
帮助文档
关于MongoDB Compass-图形化界面客户端
MongoDB Compass | MongoDB
百度网盘
链接:https://pan.baidu.com/s/1HnciMEWbnpq9qydJo-1T2g
提取码:wdny
--来自百度网盘超级会员V4的分享
解压后