MongoDB 简介
MongoDB
是一个开源的、面向文档的数据库管理系统(DBMS
),它将数据存储在类似 JSON
的文档中,这些文档被称为二进制 JSON
(BSON
)——它是 MongoDB
类 JSON
文档的二进制表示,比普通的 JSON
解析速度更快。自 2009 年以来,它是最流行的 NoSQL
数据库系统之一,与关系数据库管理系统(RDBMS
)不同,它不使用表和行。在 MongoDB
中,数据的每个记录都是一个文档,该文档由类似于 JSON
对象的名称-值对(或字段-值对)组成,但它是以二进制编码的,以支持 JSON
范围之外的数据类型,例如 ObjectId
、Date
和二进制数据( https://www.google.com/search?q=https://docs.mongodb.com/manual/reference/bson-types/ )。因此,它被称为二进制 JSON
。例如,一个 {"hello":"world"}
的文档将以 .bson
文件的形式存储如下:
1600 0000 0268 656c 6c6f 0006 0000 0077 6f72 6c64 0000
实际上,BSON
中的编码数据不是人类可读的,但是在使用 MongoDB
时我们不必过于担心这一点,因为 MongoDB
驱动程序会为你开箱即用地进行编码和解码。你只需要在使用熟悉的 JSON
文档构建 BSON
存储的文档时,使用 MongoDB
的语法、方法、操作和选择器。让我们安装 MongoDB
并开始编写。
安装 MongoDB
根据版本(社区版或企业版)和平台(Windows
、Ubuntu
或 macOS
),安装 MongoDB
有几种方法。你可以参考这里提供的链接:
-
在
Ubuntu
上安装 MongoDB 社区版: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/
在 Ubuntu 20.04 上安装
本书中,我们将在 Ubuntu 20.04 (Focal Fossa) 上安装 MongoDB 4.2(社区版)。如果你使用的是 Ubuntu 19.10 (Eoan Ermine),安装过程也一样。如果你使用的是其他旧版本的 Ubuntu,例如 14.04 LTS (Trusty Tahr)、16.04 LTS (Xenial Xerus) 或 18.04 LTS (Bionic Beaver),请参考上一节中提供的 “在 Ubuntu 上安装 MongoDB 社区版” 的链接。那么,让我们开始吧:
-
从
mongodb.org
导入公钥:$ wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | sudo apt-key add -
你应该在响应中看到
OK
。 -
为
MongoDB
创建一个列表文件:$ echo "deb [ arch=amd64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.2 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.2.list
-
更新你系统中的所有本地软件包:
$ sudo apt-get update
-
安装
MongoDB
软件包:$ sudo apt-get install -y mongodb-org
启动 MongoDB
一旦你安装了 MongoDB
软件包,接下来你应该做的是查看是否可以从终端启动并连接 MongoDB
服务器。那么,让我们开始吧:
-
使用以下命令手动或在启动时自动启动
MongoDB
:$ sudo systemctl start mongod $ sudo systemctl enable mongod
-
通过检查其版本进行验证:
$ mongo --version
你应该在终端上得到类似于以下的输出:
MongoDB shell version v4.2.1 git version: edf6d45851c0b9ee15548f0f847df141764a317e OpenSSL version: OpenSSL 1.1.1d 10 Sep 2019 allocator: tcmalloc modules: none build environment: distmod: ubuntu1804 distarch: x86_64 target_arch: x86_64
-
(可选)使用以下命令检查
MongoDB
服务器状态:$ sudo service mongod status
你应该在终端上得到类似于以下的输出:
● mongod.service - MongoDB Database Server Loaded: loaded (/lib/systemd/system/mongod.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2019-08-30 03:37:15 UTC; 29s ago Docs: https://docs.mongodb.org/manual Main PID: 31961 (mongod) Memory: 68.2M CGroup: /system.slice/mongod.service └─31961 /usr/bin/mongod --config /etc/mongod.conf
-
(可选)使用
netstat
命令检查MongoDB
是否已在端口27017
上启动:$ sudo netstat -plntu
你应该看到以下类似的输出:
Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:27017 0.0.0.0:* LISTEN 792/mongod
-
连接到 MongoDB Shell:
$ mongo
-
退出 MongoDB Shell(当你想要退出时):
> exit
如果由于任何原因想要从你的系统中完全删除
MongoDB
,请使用此命令:$ sudo apt-get purge mongodb-org*
在下一节中,你将开始从你刚刚学习的
MongoDB Shell
中编写一些基本查询。让我们直接开始。