保姆级 MongoDB 教程(Windows 环境)
在使用之前我们先了解一下为什么选择 MongoDB。
MongoDB 是一个基于分布式文件存储的数据库。同时也是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。MongoDB 旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 使用 C++ 编写。其数据结构是类似 JSON 的 BSON 格式,数据结构由键值对
key => value组成。可以存储比较复杂的数据类型。
MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
截至目前,MongoDB 已经连续第五年成为业界最常用的现代数据库。
MongoDB 官网地址:www.mongodb.com
接下来我们进入正文。
第一步:下载并安装
1.1 下载
建议到官网下载最新版本,下载页面地址:www.mongodb.com/try/downloa…
笔者此时的版本为 6.0。安装包大小为 482 MB(真不小啊)。
1.2 安装
下载后我们直接打开,然后点击 Next 即可。
接着勾选 “I accept”,表示同意许可证中的条款,然后点击 Next。
图中 Complete 表示安装完整版。而 Custom 则表示可以自定义安装,比如组件,安装路径等。
这里笔者建议选择 Complete。
这里默认是作为网络服务运行,我们不需要任何操作,点击 Next 即可。
这里我们看到提示安装 MongoDB Compass,它是 MongoDB 的可视化工具,后续会用到。但是它的下载和安装速度较慢,会影响 MongoDB 的安装进度,这里笔者建议勾选。勾选之后请做好耐心等待的准备。
点击 Install(安装)。
最后等进度条走完就可以了。
走完之后,点击 Finish 即可。
此时,MongoDB 安装就完成了。
第二步:配置环境变量
安装之后,我们找到他的默认安装目录并复制:
C:\Program Files\MongoDB\Server\6.0\bin
你可以在这个目录直接运行 mongod 服务,开启我们的 MongoDB 数据库。
但这里笔者建议将此目录添加到环境变量,这样我们就可以在任意位置操作 MongoDB 了。
下面我们就来配置环境变量。
按下 Windows + S 键,打开搜索界面,输入 “环境变量”,找到并打开。
点击下方的 “环境变量” 按钮。
选中系统变量中的 Path 并点击下方的 “编辑” 按钮。
将刚才复制的路径 C:\Program Files\MongoDB\Server\6.0\bin 粘贴,然后点击 “确定” 即可。
接下来重启电脑,使配置生效。
第三步:启动 MongoDB
3.1 配置目录
电脑重启之后,我们需要为 MongoDB 指定存储位置。这里笔者参考官网,以 "C:\data\db" 为例。
打开任意命令行工具,输入以下命令新建数据目录:
cd C:\
md "\data\db"
或者手动创建也可以。
3.2 指定位置并启动
记住我们刚才的路径 "C:\data\db",在命令行工具中输入:
mongod --dbpath="c:\data\db"
回车即可开启 MongoDB。
--dbpath选项指向数据库目录。
此时我们会看到输出很多信息,但不用在意,只需要关注最下面的几行:
我们可以看到有下面几个关键信息:
Listening on: "127.0.0.1"
Waiting for connections
"port": 27017
此时就表示我们的数据库已经在 127.0.0.1:27017 启动成功。
第四步:连接 MongoDB
连接
这一步需要使用 MongoDB Shell(mongosh)命令行工具,老样子,直接去官网下载安装。
下载页面地址:www.mongodb.com/try/downloa…
页面打开后,这里注意选择 Windows 64-bit (8.1+) (MSI)
下载完成后打开即可,安装步骤比较简单,一路 Next 就行了。安装完成之后需要重启电脑,使 mongosh 环境变量生效。
重启之后,就可以在终端(任意目录下)运行 mongosh 了:
mongosh
回车后,可能会询问我们需要连接的数据库,其默认值是:127.0.0.1:27017。所以我们不需要修改,直接回车就可以通过 mongosh 操作我们的数据库了。
第五步:操作数据库
5.1 创建数据库
在 MongoDB 中创建或切换数据库,可以使用 use 命令。比如创建一个名为 todo 的数据库:
use todo
当提示 switched to db todo,就表示 todo 数据库已经创建好了。但此时该数据库并不存在,我们需要为它插入一些数据。
5.2 创建集合与插入数据(文档)
插入数据需要在 collection 里面进行,collection 表示集合,相当于 SQL 中的表。我们可以使用 db.createCollection 命令创建,比如创建一个名为 today 的集合:
db.createCollection('today')
回车后提示 { ok: 1 },表示已经创建好了。
可以使用 show collections 命令查看集合是否存在:
但一般情况下我们是不需要专门去创建集合的,而是直接使用 db.集合名.insertOne() 或 db.集合名.insertMany() 在集合中插入数据,因为如果集合不存在,MongoDB 会自动创建该集合。
插入数据时的数据(文档)的结构和 JSON 基本一样。
插入一条数据:
db.today.insertOne({ "morning": "eat breakfast"})
同时插入多条数据:
db.today.insertMany([{ "morning": "eat breakfast"}, { "noon": "eat lunch"}])
5.3 查看数据
插入数据后,可以使用 db.集合名.find 查看数据列表:
db.today.find()
5.4 修改数据
如果数据需要修改,可以使用 db.集合名.update 命令,可以对现有数据进行修改:
db.today.update({'morning': 'eat breakfast'}, {$set: {'morning': 'drink milk'}})
查看修改后的结果:
db.today.find()
5.5 删除数据
删除单条数据可以使用 db.集合名.deleteOne 命令:
db.today.deleteOne({"noon": "eat lunch"})
同时删除多条数据可以使用 db.集合名.deleteMany 命令,比如删除所有 morning 为 eat breakfast 的数据:
db.today.deleteMany({ "morning": "eat breakfast"})
5.6 查看数据库
经过我们上面的步骤,todo 数据库已经存在了一些数据,此时可以使用 show dbs 查看数据库列表,会发现刚才创建的 todo 数据库已经存在:
show dbs
5.4 删除数据库
删除数据库需要先切换到目标数据库,比如删除我们刚才创建的 todo:
use todo
然后使用 db.dropDatabase() 删除数据库:
db.dropDatabase()
回车后即可将当前所在数据库删除。注意:该操作无法回滚,所以在实际项目中请慎重使用。
第六步:NodeJS + MongoDB
由于篇幅较长,这一步我将单独发布,需要的小伙伴请关注!
参考文档: