前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何更全面的认识 MongoDB ?

如何更全面的认识 MongoDB ?

作者头像
CSDN技术头条
发布2019-08-08 16:11:10
6170
发布2019-08-08 16:11:10
举报
文章被收录于专栏:CSDN技术头条

MongoDB 是一个非关系型数据库(NoSQL)。它拥有很多优秀特性,例如高性能、高可用、支持丰富的查询语句、无需预定义数据模型和水平可伸缩等,这些特性使它受到众多开发者的青睐。

01

安装 MongoDB

MongoDB 官网有详细的安装指引,我们只需要根据指引进行操作即可。这里以 Ubuntu 18.04 TLS 系统和 macOS 系统为例,演示如何在系统中安装 MongoDB。

在 Ubuntu 18.04 TLS 中安装 MongoDB

安装共有 5 个步骤:导入公钥,创建列表,更新库列表,安装,验证。

Ubuntu 软件包管理工具要求使用 GPG 密钥签署软件包,以确保软件包一致性和真实性,所以我们在安装前必须导入 MongoDB 的 GPG 密钥。在终端输入以下命令:

代码语言:javascript
复制
$ sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 9DA31620334BD75D9DCB49F368818C72E52529D4

命令执行后,终端输出内容如下:

代码语言:javascript
复制
gpg: 密钥 68818C72E525xxxx:公钥“MongoDB 4.0 Release Signing Key <packaging@mongodb.com>”已导入
gpg: 合计被处理的数量:1
gpg: 已导入:1

这说明密钥添加成功。接着为 MongoDB 创建列表文件。在终端输入以下命令:

代码语言:javascript
复制
$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.0.list

然后更新库列表,对应命令如下:

代码语言:javascript
复制
$ sudo apt-get update

待列表更新完毕后,就可以执行 MongoDB 的安装命令了。对应命令如下:

代码语言:javascript
复制
$ sudo apt-get install -y mongodb-org

命令执行后,终端输出内容如下:

代码语言:javascript
复制
完成。
正在添加用户"mongodb"到"mongodb"组...
正在将用户“mongodb”加入到“mongodb”组中
完成。
正在设置 mongodb-org (4.0.10) ...

这代表 MongoDB 已成功安装。要注意的是,apt-get 命令会在新版本可用时升级软件包。为防止意外升级,我们可以将软件包固定在当前安装的版本上。对应命令如下:

代码语言:javascript
复制
$ echo "mongodb-org hold" | sudo dpkg --set-selections
$ echo "mongodb-org-server hold" | sudo dpkg --set-selections
$ echo "mongodb-org-shell hold" | sudo dpkg --set-selections
$ echo "mongodb-org-mongos hold" | sudo dpkg --set-selections
$ echo "mongodb-org-tools hold" | sudo dpkg --set-selections

最后,使用 --version 验证 MongoDB 是否安装成功。验证命令如下:

代码语言:javascript
复制
$ mongo --version

命令执行后,终端输出内容如下:

代码语言:javascript
复制
MongoDB shell version v4.0.10
git version: c389e7f69f637f7a1ac3cc9fae843b635f20b766
OpenSSL version: OpenSSL 1.1.0g  2 Nov 2017
allocator: tcmalloc
modules: none
build environment:
    distmod: ubuntu1804
    distarch: x86_64
    target_arch: x86_64

这说明 MongoDB 已成功安装。MongoDB 安装完成后并未自动启动,启动命令如下:

代码语言:javascript
复制
$ sudo systemctl start mongod

命令执行后,如无报错信息即视为启动成功。当然,我们也可以为它设置开机启动。对应命令如下:

代码语言:javascript
复制
$ sudo systemctl enable mongod

以上就是在 Ubuntu 18.04 TLS 系统中安装 MongoDB 的过程。

02
在 macOS 中安装 MongoDB

在 macOS 中,我们通常使用 Homebrew 安装应用,因此我们在安装 MongoDB 前必须先安装 Homebrew。Homebrew 官方网址为:https://brew.sh/,我们按照其指引进行安装即可。在终端执行以下命令:

代码语言:javascript
复制
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

命令执行后,系统就会自动安装 Homebrew。接着我们就可以使用 brew install name 这样的命令安装其他应用了。首先,我们将 MongoDB 的包添加到 Homebrew,对应命令如下:

代码语言:javascript
复制
$ brew tap mongodb / brew

接着执行安装命令:

代码语言:javascript
复制
$ brew install mongodb-community

命令执行后,就会在系统中安装 MongoDB。安装后会创建对应的文件,例如:

  • 配置文件,路径为:/usr/local/etc/mongod.conf
  • 日志目录,路径为:/usr/local/var/log/mongodb
  • 数据目录,路径为 /usr/local/var/mongodb

MongoDB 安装完成后通常会自己启动,或者我们可以输入命令启动它。例如前台运行(进程方式)的命令如下:

代码语言:javascript
复制
$ mongod --config /usr/local/etc/mongod.conf

或者作为服务启动,对应命令如下:

代码语言:javascript
复制
$ brew services start mongodb-community

03

深入 MongoDB

MongoDB 是一个为了便于开发和扩展而设计的文档数据库,数据库中记录的是一个类似 JSON 键值(field-value)的数据结构,例如:

代码语言:javascript
复制
{
   field1 :value1 ,
   field2 :value2 ,
   field3 :value3 ,
   ...
   fieldN :valueN
}

每一个 field 都对应着一个 value,且 value 可以包含其他文档或数组。

03
MongoDB 中的常见概念

相对于我们熟知的 MySQL 数据库来说,MongoDB 中的术语和概念都“令人感到新鲜”。接下来,我们将学习 MongoDB 中的数据库、集合、文档、数组和嵌入式文档等概念。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-08,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 GitChat精品课 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 安装 MongoDB
    • 在 Ubuntu 18.04 TLS 中安装 MongoDB
      • 02
        • 在 macOS 中安装 MongoDB
        • 03
        • 深入 MongoDB
          • 03
            • MongoDB 中的常见概念
            相关产品与服务
            云数据库 MongoDB
            腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档