• MongoDB进阶指南!


    想必大家很多人都在业务开发的时候遇到这样的痛点。

    最近在用数据库存储数据的时候发现这么一个坑,例如从消息队列中监听消息的时候,原来的做法是将监听的消息json数据存储在数据库,以便好对异常消息数据进行追溯,消息内容使用text类型存储,起初因为数据内容很短,没啥毛病,但是当随着业务的扩展,收到的消息内容越来越长,最后发现数据库中的text字段类型无法很好的支持查询,于是在这个时候,就开始考虑采用更加合适的数据库来存储这种消息数据!

    在经过一番讨论之后,对于这种 json 类型的消息数据的存储,大家一致认为采用 MongoDB 是最佳的选择!

    据官方介绍,MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富、最像关系数据库的一款高性能的 NoSQL 数据库。

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。

    其中的文档类似于 JSON 对象。字段值可以包含其他文档、数组及文档数组,数据结构的支持非常灵活!

    的确,在使用的过程当中,正如所介绍的,数据的存储和查询,性能极快,而且很好的满足我们的需求!

    话不多说,下面我们就一起来了解一下,这款数据库应该如何使用!

    二、环境配置

    在学习它之前,我们需要先搭建好环境,MongoDB 的安装也非常简单!

    2.1、Windows 平台

    如果你是 Windows 平台,MongoDB 提供了可用于 32 位和 64 位系统的预编译二进制,安装基本是傻瓜式的操作,登录 MongoDB 官网并且下载安装包,然后一步一步的操作即可!

    2.2、Linux 平台

    生产环境基本都是 Linux 平台,为了和生产保持一致,小编采用的服务器是CentOS7,安装过程也比较简单!

    • 创建资源文件

    sudo vim /etc/yum.repos.d/mongodb-org-4.0.repo
    
    • 编辑内容如下

    1. [mongodb-org-4.0]
    2. name=MongoDB Repository
    3. baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
    4. gpgcheck=1
    5. enabled=1
    6. gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
    • 运行以下命令安装 mongodb

    sudo yum install -y mongodb-org
    
    • 安装完成之后,配置mongod.conf允许远程连接

    1. #编辑mongod.conf
    2. vim /etc/mongod.conf
    3. #将net:bindIp: 127.0.0.1 改为 0.0.0.0
    4. net:
    5.    bindIp:0.0.0.0
    • 最后启动服务

    1. #开启服务
    2. systemctl start mongod
    3. #其他服务
    4. #关闭服务
    5. systemctl stop mongod
    6. #重启服务
    7. systemctl restart mongod
    8. #开机自启
    9. systemctl enable mongod

    至此,环境配置已经完成!

    三、数据库操作

    MongoDB 的数据操作,是开发人员接触最频繁的部分,第一次使用的时候,你会发现它和我们传统使用的 sql 脚本命令完全不同,但是又类似,下面我们就一起来深入的了解下!

    3.1、进入 MongoDB

    进入 MongoDB 服务很简单,输入如下命令即可进入!

    mongo
    

    例如,在CentOS里面输入命令之后,进入的服务界面如下:

    3.2、创建数据库

    MongoDB 创建数据库的语法格式如下:

    use DATABASE_NAME
    

    如果数据库不存在,则创建数据库,否则切换到指定数据库

    输入如下命令,可以查询数据库列表

    1. #查询数据库列表
    2. show dbs
    3. #命令输出结果:
    4. admin
    5. config
    6. local

    可以看到,当前 MongoDB 有三个数据库!

    输入如下命令,可以切换到admin数据库

    use admin
    

    输入db命令,还可以查询当前数据库

    db
    

    3.3、创建用户

    默认的情况下,是没有用户的,也无法操作数据库,因此我们需要创建一个用户,同时给他分配权限!

    3.3.1、创建一个管理员用户

    创建一个用户、密码都是admin的用户,同时给这个

  • 相关阅读:
    TypeScript Project References npm 包构建小实践
    JavaScript FormData基本方法介绍
    Flink系列文档-(YY11)-watermark工作机制
    ULID规范解读与实现原理
    Codeforces Round #828 (Div. 3) A-F
    基于EasyExcel的大数据量导入并去重
    【mybatis基础】
    图像变换算法
    详解C#委托与事件
    C语言:操作符详解(1)
  • 原文地址:https://blog.csdn.net/AS011x/article/details/126566872