当前位置: 首页 > news >正文

MongoDB 安装使用教程

一、MongoDB 简介

MongoDB 是一个高性能、开源的 NoSQL 文档型数据库,使用 BSON(二进制 JSON)格式存储数据。适合存储大规模、高并发的非结构化数据,常用于大数据、日志存储、微服务架构中。

二、下载安装

2.1 官网下载

访问 MongoDB 官方下载页 选择对应系统版本下载 Community Server。


2.2 Windows 安装步骤

  1. 下载 .msi 安装包并运行。
  2. 选择 “Complete” 完整安装。
  3. 选择是否安装 MongoDB Compass(可视化工具)。
  4. 安装完成后将 MongoDB 安装目录(如 C:\Program Files\MongoDB\Server\6.0\bin)添加到系统环境变量 Path 中。
  5. 创建数据目录:
mkdir C:\data\db
  1. 启动服务:
mongod

2.3 macOS 安装步骤

使用 Homebrew 安装:

brew tap mongodb/brew
brew install mongodb-community@6.0
brew services start mongodb/brew/mongodb-community

2.4 Linux 安装步骤(以 Ubuntu 为例)

wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add -
echo "deb [ arch=amd64 ] 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
sudo apt install -y mongodb-org
sudo systemctl start mongod
sudo systemctl enable mongod

三、基本使用

3.1 启动 MongoDB 服务

mongod

或者使用后台启动:

mongod --dbpath "你的数据库目录路径" --fork --logpath "日志文件路径"

3.2 启动 MongoDB Shell

mongo

3.3 常用操作示例

// 查看当前数据库
db// 创建/切换数据库
use mydb// 插入数据
db.users.insert({name: "Alice", age: 25})// 查询数据
db.users.find()// 更新数据
db.users.update({name: "Alice"}, {$set: {age: 26}})// 删除数据
db.users.remove({name: "Alice"})

四、图形化工具推荐

  • MongoDB Compass:官方图形化界面,适合初学者使用。
  • NoSQLBooster:更专业的客户端,支持 IntelliSense。
  • Studio 3T:企业级管理工具,功能强大。

五、远程访问配置

  1. 修改配置文件 /etc/mongod.conf
net:port: 27017bindIp: 0.0.0.0
  1. 重启 MongoDB:
sudo systemctl restart mongod
  1. 创建用户及权限:
use admin
db.createUser({user: "admin",pwd: "password123",roles: [{ role: "userAdminAnyDatabase", db: "admin" }]
})

六、常见问题

Q1: MongoDB 启动报错 “data directory not found”

请确保 --dbpath 指定的目录存在,并且有权限。

Q2: MongoDB 无法远程连接

  • 确保 bindIp 配置为 0.0.0.0
  • 防火墙放行端口 27017
  • 用户权限已配置正确

七、参考链接

  • MongoDB 官网
  • MongoDB Compass

本文由“小奇Java面试”原创发布,转载请注明出处。

可以搜索【小奇JAVA面试】第一时间阅读,回复【资料】获取福利,回复【项目】获取项目源码,回复【简历模板】获取简历模板,回复【学习路线图】获取学习路线图。

在这里插入图片描述

http://www.dtcms.com/a/263456.html

相关文章:

  • Nginx入门
  • 如何在 iOS 上线前做好安全防护?IPA 混淆与逆向防护实践详解
  • 【区块链安全】代理合约中的漏洞
  • 车载ECU刷写文件格式汇总详解
  • CppCon 2018 学习:Applied Best Practices
  • APP 内存测试--Android Memory Profiler实操(入门版)
  • ACE之ACE_NonBlocking_Connect_Handler问题分析
  • 【FineDataLink快速入门】01界面介绍-运维中心
  • AI教育全景图:谁在领跑2025?
  • 【Debian】1- 安装Debian到物理主机
  • STM32——DAP下载程序和程序调试
  • 【C++】经典string类问题
  • 【数字人开发】结合nextHuman平台进行数字人网页端开发
  • VMware 在局域网环境将虚拟机内部ip 端口开放
  • 【读代码】TradingAgents:基于多智能体LLM的金融交易框架深度解析
  • STM32 rs485实现中断DMA模式收发不定长数据
  • STM32-第一节-新建工程,GPIO输出(LED,蜂鸣器)
  • SQuirreL SQL:一个免费的通用数据库开发工具
  • 华为云Flexus+DeepSeek征文 | 基于华为云Dify-LLM搭建知识库问答助手
  • 怎么在手机上预约心理咨询师
  • MySQL索引失效场景
  • 【软考高项论文】信息系统项目的资源管理
  • 大模型在急性左心衰竭预测与临床方案制定中的应用研究
  • 【Redis面试篇】Redis高频八股汇总
  • 长短期记忆网络(LSTM):让神经网络拥有 “持久记忆力” 的神奇魔法
  • 周赛98补题
  • Go语言安装使用教程
  • Golang的多环境配置
  • 「Java流程控制」while循环
  • Redis 实现消息队列