MongoDB入坑篇

一、介绍

1、Nosql

Not Only SQL ,本质也是一种数据库的技术,只不过相比于关系型数据库,没有那么多约束

优点

  • 满足对数据库的高并发读写
  • 对海量数据的高效存储和访问
  • 对数据库高扩展性和高可用性
  • 灵活的数据结构,满足数据结构不固定的场景

缺点

  • 一般不支持事务
  • 实现复杂SQL查询比较复杂
  • 运维人员数据维护门槛较高
  • 目前不是主流的数据库技术

2、关系型和非关系型数据库

关系型数据库

  • MySQL、Oracle、DB2、SQL Server…
  • 数据库中全是表

非关系型数据库

  • 键值对数据库:Redis、memcached
  • 列式数据库:Hbase
  • 文档型数据库:MongoDB
  • 图结构数据库:infoGrid、Neo4J

3、MongoDB

是一个数据库,高性能、无模式、文档性,目前nosql中最热门的数据库,开源产品,基于c++开发,是nosql数据库中功能最丰富,最像关系数据库的

对比MySQL

MySQL:数据库->表->行->主键
MongoDB:数据库->集合->文档 ->Object ID(自动维护)

特性

  • 面向文档的存储
    类似于JSON的结构,MongoDB中的“JSON”我们称为BSON,比普通的JSON的功能要更加的强大
  • 格式自由,数据格式不固定,生产环境下修改结构都可以不影响程序运行
  • 强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力
  • 完整的索引支持,支持查询计划
  • 支持复制和自动故障转移
  • 支持二进制数据及大型对象(文件)的高效存储
  • 使用分片集群提升系统扩展性
  • 使用内存映射存储引擎,把磁盘的IO操作转换成为内存的操作
    特性
  • MongoDB数据库使用的是JavaScript进行操作的,在MongoDB含有一个对ES标准实现的引擎,在MongoDB中所有ES中的语法中都可以使用

核心概念

  • 实例
    系统上的一个进程,可以有多个库

  • 类似mysql的库
  • 集合
    类似mysql的表
  • 文档
    类似mysql每一行数据
    键值对数据

在这里插入图片描述

为什么选择它

数据库流行程度排行,可以看出,是比较热门的数据库

满足以下1个,可以考虑使用,2个的话,选择基本没错
在这里插入图片描述
使用场景

  • 游戏场景
    使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新
  • 物流场景
    使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来
  • 社交场景
    使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能
  • 物联网场景
    使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
  • 视频直播
    使用 MongoDB 存储用户信息、礼物信息等

不能使用的场景

  • 高度事务性系统
    例如银行、财务等系统
    MongoDB对事物的支持较
  • 传统的商业智能应用
    特定问题的数据分析,多数据实体关联,涉及到复杂的、高度优化的查询方式
  • 数据结构相对固定

二、安装

1、下载

下载地址
在这里插入图片描述
MongoDB 6.0 以后做出了重大改变,MongoDB 已经不再默认为你安装shell 工具,因此需要安装一个额外的shell,安装地址
在这里插入图片描述

2、安装

解压即可,然后创建mongodb存储数据目录data、保存日志文件目录log

3、配置环境变量:D:\mongodb\bin

4、启动服务端

用来保存数据
打开cmd命令行窗口,执行mongod --dbpath D:\mongodb\data
在这里插入图片描述
32位系统的话,启动服务器时,需要输入如下内容

mongod --storageEngine=mmapv1

将MongoDB设置为系统服务,可以自动在后台启动,不需要每次都手动启动
方式1
在目录 D:\mongodb下新增一个配置文件mongod.cfg
以管理员的身份打开命令行窗口 ,执行

sc create MongoDB binPath="\"D:\mongodb\bin\mongod.exe\" --service --config=\"D:\mongodb\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

在这里插入图片描述
方式2
在目录 D:\mongodb\log下新增一个mongodb.log
以管理员的身份打开命令行窗口 ,执行
mongod --dbpath “D:\mongodb\data” --logpath “D:\mongodb\log\mongodb.log” --install --serviceName “MongoDB”
在这里插入图片描述

启动服务:net start MongoDB
方式1可能出现以下错误,建议使用方式2

MongoDB 服务正在启动 .
MongoDB 服务无法启动。

发生服务特定错误: 100.

如果启动失败,先删除之前配置的服务,sc delete MongoDB
在这里插入图片描述

5、验证

浏览器输入http://127.0.0.1:27017,验证启动成功
在这里插入图片描述

6、启动客户端

用来操作数据
打开新的cmd命令行窗口,执行mongosh
在这里插入图片描述
测试,成功
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员Forlan

你的鼓励将是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值