百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

MongoDB功能与安装指南(mongodb部署安装)

itomcoil 2025-06-03 22:35 24 浏览

MongoDB 主要功能介绍

MongoDB 是一款开源的 NoSQL 文档数据库,适用于灵活、高性能和大规模数据存储场景。以下是其核心功能:

  1. 灵活文档模型

数据以 BSON(Binary JSON)文档形式存储,字段可动态扩展,无需预定义表结构。

支持嵌套对象和数组,适合处理复杂数据结构。

  1. 水平扩展(分片)

通过 Sharding 将数据分布到多台机器,支持海量数据和高并发访问。

  1. 高可用性(复制集)

Replica Set 提供自动故障转移,主节点故障时从节点自动升级,确保服务连续性。

  1. 强大查询与聚合

支持丰富的查询语法(如范围、正则、地理空间查询)。

聚合管道(Aggregation Pipeline) 实现复杂数据处理(分组、排序、多阶段计算)。

  1. 多样索引支持

单字段、复合、全文、地理空间索引等,提升查询效率。

  1. GridFS 大文件存储

存储超过 16MB 的文件(如图片、视频),自动分割为多个文档。

  1. 安全与加密

支持身份验证(SCRAM、LDAP)、角色授权、TLS/SSL 加密传输及静态数据加密。

  1. 多语言驱动

提供 Python、Java、Node.js 等主流语言的驱动程序,简化集成。

安装步骤(以 Ubuntu 20.04 为例)

1. 添加 MongoDB 官方仓库

# 导入 GPG 密钥
wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -

# 添加仓库地址
echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list

# 更新软件源
sudo apt update

2. 安装 MongoDB

sudo apt install -y mongodb-org

3. 启动服务

# 启用开机自启并启动服务
sudo systemctl enable --now mongod

# 检查运行状态
sudo systemctl status mongod

4. 连接测试

# 进入 MongoDB Shell
mongosh

# 执行测试命令
> show dbs      # 显示数据库列表
> db.version()  # 查看版本

其他系统安装简略

  • CentOS/RHEL
    创建仓库文件 /etc/yum.repos.d/mongodb-org-6.0.repo,内容参考官方文档,使用 yum install mongodb-org 安装。
  • MacOS (Homebrew)
brew tap mongodb/brew
brew install mongodb-community
brew services start mongodb-community
  • Windows
    下载安装程序(官网下载),按向导安装,默认数据目录为 C:\data\db,通过命令提示符运行 mongod 启动服务。

基本配置与安全

  1. 配置文件路径
  2. Linux: /etc/mongod.conf
  3. Windows: <安装目录>\bin\mongod.cfg
  4. 启用身份验证

编辑配置文件,添加:

security:
  authorization: enabled

重启服务后创建用户:

use admin
db.createUser({user: "admin", pwd: "password", roles: ["root"]})
  1. 开放远程访问
  2. 修改 net.bindIp 为 0.0.0.0,并配置防火墙允许端口 27017。

常见问题排查

  • 服务启动失败
    检查日志 /var/log/mongodb/mongod.log,常见原因包括端口冲突、数据目录权限不足。
  • 连接拒绝
    确认服务运行中,且防火墙未阻止端口。

通过掌握上述功能与安装步骤,可快速搭建 MongoDB 环境并应用于各类项目中。

相关推荐

C|经典实例理解算法之顺推、逆推、迭代、递归思想

递推算法可以不断利用已有的信息推导(迭代)出新的信息,在日常应用中有如下两种递推算法。①顺推法:从已知条件出发,逐步推算出要解决问题的方法。例如斐波那契数列就可以通过顺推法不断递推算出新的数据。②...

[西门子PLC] 博途编程之递归算法

首先跟大伙讲一讲哈,递归算法瞅着是挺优雅挺不错的,可实际上没啥大用,在真正的项目里能不用就别用递归,为啥呢?因为用了递归可能会惹出大麻烦,后面会给大伙举例讲讲原因。那啥叫递归呢?从名字上就能看出来,就...

SQL 也能递归?一文搞懂 Recursive CTE的魔力

很多人以为递归(Recursive)只属于编程语言,和SQL没什么关系。但其实SQL中也能实现递归操作,特别是在处理树结构、路径查找时,WITHRECURSIVE展现出强大威力。本文将带你...

10张动图学会python循环与递归

  一图胜千言!  循环难学?十张动图GIFS有助于认识循环、递归、二分检索等概念的具体运行情况。  本文代码实例以Python语言编写。  一、循环  GIF1:最简单的while循环  GIF...

C语言学习之-----(十三) 函数递归

(十三)函数递归一、栈在说函数递归的时候,顺便说一下栈的概念。栈是一个后进先出的压入(push)和弹出(pop)式数据结构。在程序运行时,系统每次向栈中压入一个对象,然后栈指针向下移动一个位置。当系...

Python自动化办公应用学习笔记19—— 循环控制:break 和 continue

在Python的循环结构中,break和continue是两个特殊的保留字,主要用于改变循环的执行流程。1.定义与核心作用break:立即终止当前循环,跳出整个循环体(仅限最内层循环)conti...

循环与递归的那些事
循环与递归的那些事

大家好,我是贠学文,点击右上方“关注”,每天为您分享java程序员需要掌握的知识点干货。在任何的编程语言中,循环和递归永远都是一个避不开的话题,因为在某些特定的场景下,用递归确实要比循环简单得多,比如说遍历文件夹目录等等,但是,递归也有下面...

2025-08-02 18:49 itomcoil

漫谈递归、迭代、循环——人理解迭代,神理解递归

后续计划好几天没有更新了,没有偷懒。随着源码的阅读,学习到了字典和集合的底层实现。字典这种数据结构的搜索效率很高,底层结构采用了效率优于红黑树的哈希表。红黑树是一种平衡二叉树,C++中的map和lin...

Excel递归与循环——货物分箱问题

递归指通过函数自身调用实现复杂计算,在Excel中多通过支持递归的函数(如LAMBDA)实现。第一,简化复杂逻辑表达:对于有明确递推关系的问题,递归能将多层嵌套的逻辑转化为简洁的自我调用形式,比手...

MongoDB入门之索引

索引就像书的目录,如果查找某内容在没有目录的帮助下,只能全篇查找翻阅,这导致效率非常的低下;如果在借助目录情况下,就能很快的定位具体内容所在区域,效率会直线提高。索引简介首先打开命令行,输入mongo...

MongoDB之集合管理一

最近的几篇博客都是关于MongoDB的,虽然个人感觉也没多少知识点,但没想到竟然有转载我的博客的,不管有经过我同意还是没经过我同意,说明写的应该还是有价值的,这也是我写博客的一个动力之一吧。上一博客学...

SpringBoot集成扩展-访问NoSQL数据库之Redis和MongoDB!

与关系型数据库一样,SpringBoot也提供了对NoSQL数据库的集成扩展,如对Redis和MongoDB等数据库的操作。通过默认配置即可使用RedisTemplate和MongoTemplate...

揭秘你不会画“信息结构图”的本质

编辑导语:产品信息结构图有助于清晰地展示产品信息,一定程度上可以为后台上传数据提供依据,但不少人可能觉得产品信息结构图很难,这可能是对数据库表结构不理解等因素导致的。本篇文章里,作者就产品信息结构图的...

MongoDB导入导出备份数据

要提前安装mongodb-database-tools参考:centos离线安装mongodb-database-tools导出数据常用的导出有两种:mongodump和mongoexport,两种方...

mongodb导入导出及备份

-------------------MongoDB数据导入与导出-------------------1、导出工具:mongoexport1、概念:mongoDB中的mongoexport...