搭建MongoDB环境搭建快速入门指南
1. MongoDB是什么?
MongoDB是一款常见的NoSQL数据库,采用的是文档存储模式,相较于传统的关系型数据库,它的扩展性更好,可以应对更大的数据集和更复杂的数据结构。它的应用范围非常广泛,包括互联网应用、大数据、物联网、人工智能等领域,是一个非常值得学习和掌握的技术。
2. 环境搭建前的准备工作
2.1 下载安装包
在进行MongoDB环境搭建之前,我们需要先下载官方的安装包。前往MongoDB官网,选择适合自己操作系统的版本进行下载。
下载完成后,打开安装包,一路默认即可完成安装。安装完成后,我们需要为MongoDB设置数据存储目录。新建一个空文件夹,例如“C:\data\db”,然后在启动MongoDB时指定该目录:
mongod --dbpath C:\data\db
这条命令会启动MongoDB,并且将数据存储在“C:\data\db”文件夹下。
2.2 配置环境变量
为了在任何目录下都可以使用MongoDB的命令行工具,我们需要将MongoDB的安装目录添加到系统的环境变量中。
在Windows系统下,右键点击“此电脑”->“属性”->“高级系统设置”->“环境变量”,在“系统变量”中找到“Path”,点击“编辑”,在结尾添加如下内容:
;C:\Program Files\MongoDB\Server\4.4\bin\;
将“C:\Program Files\MongoDB\Server\4.4\bin\”替换为自己MongoDB安装目录的路径即可。
3. 环境搭建
3.1 启动MongoDB
在命令行中输入以下命令,即可启动MongoDB:
mongod
如果一切正常,命令行中会输出以下信息:
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"NETWORK", "id":4915701, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":22156,"port":27017,"dbPath":"C:\\data\\db","architecture":"64-bit","host":"TigerFelix"}}
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20574, "ctx":"initandlisten","msg":"{"attr":{"commit":"1d367f08846cca14d0ea6b357896c50fc92c6bbb"},"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20574, "ctx":"initandlisten","msg":"MongoDB starting","attr":{"pid":22156,"port":27017,"dbPath":"C:\\data\\db","architecture":"64-bit","host":"TigerFelix"}}
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20576, "ctx":"initandlisten","msg":"targetMinOS: Windows 7/Windows Server 2008 R2"}
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"db version v4.4.9","attr":{"commit":"d2561623fcf951ab0a93c4a3b1c624be027af6af"}}
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"db version v4.4.9","attr":{"commit":"d2561623fcf951ab0a93c4a3b1c624be027af6af"}}
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"git version: d2561623fcf951ab0a93c4a3b1c624be027af6af"}
{"t":{"$date":"2021-09-21T11:34:17.494+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"OpenSSL version: OpenSSL 1.1.1k 25 Mar 2021"}
{"t":{"$date":"2021-09-21T11:34:17.495+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"modules: none"}
{"t":{"$date":"2021-09-21T11:34:17.495+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"allocator: tcmalloc"}
{"t":{"$date":"2021-09-21T11:34:17.495+08:00"},"s":"I", "c":"CONTROL", "id":20578, "ctx":"initandlisten","msg":"options: { net: { bindIp: \"127.0.0.1\", port: 27017 }, security: { authorization: \"disabled\" }, systemLog: { verbosity: 0 }, processManagement: { windowsService: { serviceName: \"MongoDB\", displayName: \"MongoDB\", description: \"MongoDB Server (localhost:27017)\" } } }"}
{"t":{"$date":"2021-09-21T11:34:17.495+08:00"},"s":"I", "c":"STORAGE", "id":20578, "ctx":"initandlisten","msg":"Storage engine is wiredTiger","attr":{"targetMinOS":"Windows 7/Windows Server 2008 R2"}}
{"t":{"$date":"2021-09-21T11:34:17.520+08:00"},"s":"W", "c":"CONTROL", "id":22120, "ctx":"initandlisten","msg":"Access control is not enabled for the database. Read and write access to data and configuration is unrestricted","tags":["startupWarnings"]}
{"t":{"$date":"2021-09-21T11:34:17.523+08:00"},"s":"I", "c":"NETWORK", "id":4648601, "ctx":"listener","msg":"Listening on","attr":{"address":"127.0.0.1","port":27017}}
{"t":{"$date":"2021-09-21T11:34:17.523+08:00"},"s":"I", "c":"NETWORK", "id":4648603, "ctx":"listener","msg":"MongoDB server listening","attr":{"address":"127.0.0.1","port":27017}}
这些信息告诉我们MongoDB已经启动,并且监听在本地的27017端口。
3.2 连接MongoDB
启动MongoDB后,我们可以在另一个命令行窗口中输入以下命令,连接MongoDB:
mongo
如果一切正常,命令行会输出以下信息:
MongoDB shell version v4.4.9
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("4b64aeee-9d20-4f79-8bbc-36cfa058119d") }
MongoDB server version: 4.4.9
---
The server generated these startup warnings when booting:
2021-09-21T11:34:17.520+08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
---
MongoDB Enterprise >
这些信息告诉我们MongoDB连接成功,并且当前会话处于MongoDB命令行状态中。
3.3 初步操作MongoDB
在MongoDB的命令行中,我们可以像操作其他数据库一样,进行查询、插入、更新和删除等操作。
以下是一些MongoDB初步操作的示例:
3.3.1 查询
查询一个集合中的所有文档:
show dbs # 列出当前MongoDB实例中的所有数据库
use test # 切换到test数据库
show collections # 列出test数据库中的所有集合
db.users.find() # 查询users集合中的所有文档
3.3.2 插入
向一个集合中插入一条文档:
db.users.insertOne({"name": "张三", "age": 18, "gender": "男"})
这个命令会向users集合中插入{"name": "张三", "age": 18, "gender": "男"}这条文档。
3.3.3 更新
更新一个集合中的一条文档:
db.users.updateOne({"name": "张三"}, {"$set": {"age": 20}})
这个命令会在users集合中查找{"name": "张三"}这条文档,并将其age属性更新为20。
3.3.4 删除
删除一个集合中的一条文档:
db.users.deleteOne({"name": "张三"})
这个命令会在users集合中查找{"name": "张三"}这条文档,并将其删除。
4. 总结
通过本文的介绍,我们可以了解到MongoDB的基本概念和优势,以及如何在Windows环境下进行MongoDB的环境搭建。在实际运用中,我们可以根据需求选择不同的MongoDB版本和配置,以及结合其他工具进行数据的分析和处理。
使用MongoDB时要记得遵守MongoDB的最佳实践,例如设置安全认证、合理设计数据结构和索引等等,以免造成数据泄露或者数据处理效率低下的问题。