Mongodb下载安装与使用(Windows版本)

一、简介:

官方简介https://www.mongodb.com/zh-cn/docs/v7.0/introduction/#std-label-intro-to-mongodb

1、定义:

Mongodb是一个基于分布式文件存储的数据库。

2、核心概念:

① 数据库(通常一个项目只有一个数据库):

数据库服务下可以创建很多数据库,数据库可以存放很多集合。

理解:一个json文件就是一个数据库

② 集合:

集合可以存放很多文档,一个集合会存储同一种类型的数据

理解:json文件中一个属性对应一个数组,一个数组就是一个集合。

③ 文档:

数据库的最小单位。

理解:json文件中一个数组中有多个对象,一个对象就是一个文档。

javascript 复制代码
Tips:对象中的属性(key),也被称为字段

二、下载安装与启动:

1、mogodb三个版本的区别如下:

2、版本选择:

mongodb 6.0版本及以上缺少客户端程序,需要自己下载安装配置客户端程序 。如果不想下载,请安装 mongodb 5.0版本及以下。

3、下载安装启动 mongodb 服务器端程序(社区版):

① 下载链接:

https://www.mongodb.com/try/download/community

② 选择平台、版本:

③ 配置安装:

(1) 官方教程链接

https://www.mongodb.com/zh-cn/docs/v7.0/installation/#std-label-tutorial-installation

(2)个人教程:
a、将安装包解压后,放在 C:\Program Files

Program Files文件夹专门用来存放程序文件,也可以放在别的文件夹下

b、设置mongodb数据默认的存放位置:

创建目录: C:\data\db

④ 启动mongodb的服务端程序:

(1)以bin目录为工作目录,启动命令行:
(2)输入mongod命令(或者双击 mongod.exe):

看到waiting for connections代表启动成功

⑤ 注意事项:

(1)不要选中服务端窗口的内容,选中会停止服务!
(2)可以在本窗口中 按回车键(Enter) 进行恢复

4、下载安装启动 mongodb的客户端程序:

① 下载链接:

https://www.mongodb.com/try/download/shell

② 安装:

(1) 官方教程链接

https://www.mongodb.com/zh-cn/docs/mongodb-shell/

(2)个人教程:
a、将安装包解压后,放在 C:\Program Files

Program Files文件夹专门用来存放程序文件,也可以放在别的文件夹下

③ 启动mongodb的客户端程序:

(1)以bin目录为工作目录,启动命令行:
(2)输入 mongosh 命令(或者双击 mongosh.exe):

看到下面的内容表示启动成功

(3)测试客户端与服务端的连接:

显示所有的数据库:show dbs

5、配置mongodb的客户端程序的便捷启动:

bin目录配置到环境变量 path 中:

① 找到系统的环境变量:


② 新增环境变量:


一直点击确定,直到没有弹窗

③ 测试是否配置成功:

(1)关闭所有的命令窗口:防止端口被占用引发冲突
(2)打开新的命令行窗口:WIN + R -》 cmd
(3)输入 mongod
(4)打开新的命令行窗口:WIN + R -》 cmd
(5)输入 mongosh

三、命令行交互(在客户端进行交互):

1、数据库命令:

① 显示所有数据库:show dbs

只显示有数据的数据库

② 切换到指定的数据库:use 数据库名

如果数据库不存在,会自动创建数据为空的数据库。


③ 显示当前所在的数据库:db

④ 删除数据库:db.dropDatabase()

(1)删除当前所在的数据库:

直接执行db.dropDatabase()

(2)删除其它数据库:

先执行use 数据库名称(切换到指定的数据库),再直接执行db.dropDatabase()

2、集合命令:

① 创建集合:db.createCollection('集合名称')

mongoose会使用集合名称的复数,来命名集合

② 显示当前数据库中的所有集合:show collections

③ 删除某个集合:db.集合名.drop()

④ 重命名某个集合:db.集合名.renameCollection('集合新名称')

3、文档命令:

① 插入文档:db.集合名.insert(文档对象)

② 查询文档:

(1)查询所有的文档:db.集合名.find()


_idmongodb自动生成的唯一编号,用来唯一标识文档

(2)按条件查询文档:db.集合名.find(查询条件)

③ 更新文档:

常用更新操作符:

(1)更新一个文档(匹配的第一个):db.集合名.updateOne(查询条件, {更新操作符: 文档数据})
(2)更新多个文档(匹配的所有的):db.集合名.updateMany(查询条件, {更新操作符: 文档数据})

④ 删除文档:

(1)删除一个文档(匹配的第一个):db.集合名.deleteOne(删除条件)
(2)删除多个文档(匹配的所有的):db.集合名.deleteMany(删除条件)
(3)删除当前集合下的所有文档:db.集合名.deleteMany({})
(4)查找并删除:db.集合名.findOneAndDelete(查询条件, 删除条件)

四、mongodb 图形化工具:

1、MongoDB Compass(官方工具):

https://www.mongodb.com/try/download/compass

2、Robo 3T(免费):

https://github.com/Studio3T/robomongo/releases

3、Navicate(付费):

https://www.navicat.com.cn/products

五、mongoose下载安装与使用:

https://blog.csdn.net/Y1914960928/article/details/148735954?sharetype=blogdetail&sharerId=148735954&sharerefer=PC&sharesource=Y1914960928&spm=1011.2480.3001.8118

相关推荐
A9better2 小时前
嵌入式开发学习日志31——stm32之外部中断与定时器中断的差别与选择
stm32·单片机·学习
zhangrelay2 小时前
ROS2学习研究版本推荐:Jazzy Jalisco(LTS长期支持版)AI版本251001
笔记·学习
xyx-3v3 小时前
已知三极管的类型(NPN/PNP)和基极引脚,如何区分集电极(c)和发射极(e)
单片机·嵌入式硬件·学习
大白的编程日记.3 小时前
【Linux学习笔记】线程概念和控制(二)
linux·笔记·学习
半夏知半秋4 小时前
skynet-socket.lua源码分析
服务器·开发语言·学习·架构·lua
清静诗意4 小时前
Windows 11 WSL2 迁移到非系统盘(E 盘)教程
windows·wsl
低代码布道师4 小时前
学习低代码,需要什么基础?
学习·低代码
王小义笔记4 小时前
windows电脑如何执行openssl rand命令
windows·openssl
西猫雷婶4 小时前
random.shuffle()函数随机打乱数据
开发语言·pytorch·python·学习·算法·线性回归·numpy
随机惯性粒子群4 小时前
STM32控制开发学习笔记【基于STM32 HAL库】
笔记·stm32·嵌入式硬件·学习