什么是 MongoDB

MongoDB 是一个基于文档的非关系型数据库管理系统(NoSQL),由 MongoDB Inc. 开发。它以其高性能、高可用性和易扩展性而闻名。MongoDB 使用 BSON(一种类似 JSON 的格式)来存储数据,这使得它在存储复杂数据类型时非常灵活。

MongoDB 特点

  • 文档导向:MongoDB 存储称为“文档”的数据记录,这些文档聚集在称为“集合”的地方。每个文档都可以有不同的数据结构。

  • 高性能:MongoDB 提供高性能数据持久性,特别是在处理大规模数据的高负载应用时。

  • 高可用性:MongoDB 的复制集特性提供自动故障转移和数据冗余。

  • 易于扩展:支持水平扩展,通过分片可以在多个 MongoDB 服务器上分布数据。

MongoDB 与 MySQL 的区别

MySQL 是一个广泛使用的关系型数据库管理系统(RDBMS),它使用结构化查询语言(SQL)进行数据管理。相比之下,MongoDB 是一个非关系型数据库,有几个关键区别:

数据模型

  • MySQL:使用表格和行的数据模型。所有的数据记录都需要严格遵守预定义的模式,包括固定的列和数据类型。

  • MongoDB:使用灵活的文档模型,不需要预定义的模式。每个文档都可以拥有独立的结构和字段。

查询语言

  • MySQL:使用 SQL 作为查询语言,这是一种非常强大且结构严谨的语言,适用于复杂的查询。

  • MongoDB:使用 JSON-like 的查询语言,它简单直观,但在执行非常复杂的查询时可能不如 SQL 灵活。

扩展性

  • MySQL:通常支持垂直扩展,即提升单个服务器的性能来处理更多的负载。

  • MongoDB:设计以支持水平扩展,通过增加更多服务器来处理更大的数据集。

本地使用 MongoDB + Navicat

步骤一:本地安装 MongoDB 与可视化操作工具

Navicat 是一个多数据库管理工具,它支持 MongoDB,并提供了一个图形界面来管理和操作 MongoDB 数据库。

  1. 下载安装 MongoDB:MongoDB 官网下载页面,一路傻瓜式安装即可。

  2. 下载安装可视化操作工具:Navicat Premium or Studio 3T

步骤二:连接 MongoDB 数据库

新建连接,连接 MongoDB 数据库,选择连接方式:MongoDB,连接地址:localhost,端口:27017。

  • 主机名:输入 MongoDB 服务器的 IP 地址或域名。

  • 端口:默认端口是 27017,除非您的 MongoDB 服务器使用了其他端口。

  • 认证:如果开启了认证,输入用户名和密码。

[ 步骤三 ]:Navicat 操作

浏览和修改数据

  • 查看集合和文档:连接成功后,您可以在 Navicat 的左侧面板中看到数据库列表。展开数据库可以查看集合(collections),进一步点击可以查看集合中的文档。

  • 编辑文档:双击文档可以打开编辑器,您可以直接修改 JSON 数据,然后保存更改。

查询数据

  • 使用 Navicat 的查询编辑器来运行 MongoDB 查询。这可以通过右击数据库名并选择 “打开查询” 来完成。在查询编辑器中,您可以输入 MongoDB 的查询语句,例如:

db.collection.find({})

这里 collection 应替换为您的实际集合名称。

插入文档

  • 在集合内部,您可以直接添加新的文档。右击集合选择 “新建文档”,在打开的编辑器中输入新文档的 JSON 数据,然后保存。

更新文档

  • 在文档视图中,找到要更新的文档,双击打开,修改内容后保存。或者使用查询编辑器执行更新操作,例如:

db.collection.update({ _id: ObjectId("someObjectId") }, { $set: { field: 'value' } })

替换 collectionsomeObjectIdfieldvalue 为实际值。

删除文档

  • 右击要删除的文档,选择 “删除” 并确认。或者在查询编辑器中使用删除命令,例如:

db.collection.deleteOne({ _id: ObjectId("someObjectId") })

备份和恢复

  • Navicat 支持对 MongoDB 数据库进行备份和恢复。通过工具菜单中的备份和还原选项来管理数据库备份。

使用 Navicat 管理 MongoDB 数据库的好处是所有操作都有图形界面支持,这使得数据库管理更直观、容易上手,尤其是对于不熟悉命令行操作的用户。

云服务器安装 Mongodb 数据库

在 Linux 服务器 CentOS 7 上安装 MongoDB

步骤一:添加 MongoDB 仓库

首先,您需要创建一个 .repo 文件以包含 MongoDB 的仓库信息。使用 vi 或 nano 编辑器来创建文件:

sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo

在文件中添加以下内容:

[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

步骤二:安装 MongoDB

sudo yum install -y mongodb-org

步骤三:启动 MongoDB 服务并设置为开机启动

sudo systemctl start mongod
sudo systemctl enable mongod

步骤四:设置访问读写权限

sudo chown -R mongod:mongod /var/lib/mongo
sudo chmod -R 755 /var/lib/mongo

步骤五:检查 MongoDB 的服务状态

sudo systemctl status mongod

步骤六:使用 Navicat 连接到 MongoDB

同理,新建连接,主机名填写服务器 IP 即可。

注意:建议连接之前进行安全方面相关配置,否则可能导致黑客入侵的风险,参考文:【网安:又是数据库被黑的一天?服务器 MongoDB 数据库被黑客删库敲诈!