1、官网下载

官网地址:https://www.mongodb.com

进到官网之后,Products->Communiti Server

(或者直接访问  https://www.mongodb.com/try/download/community   )

 

 

 

 解压之后,可以新建两个文件目录

a、新建data/db目录(启动mongodb需要指定--dbpath,默认是C:/data/db,不另外指定dbpath的话,会去C盘下找data/db)

b、新建logs目录,用于存日志(启动mongodb指定--logpath)

 

 

2、启动mongodb服务(如果)

 cmd命令窗口进入到mongodb的bin目录启动mongodb:mongod --dbpath data/db的路径

如:mongod --dbpath D:\software\mongodb\mongodb-win32-x86_64-windows-6.0.5\data\db

 

 ...

 

 

 可以在浏览器中访问  http://localhost:27017

 如上图表示启动成功,或者也可以用其他工具连接

或者指定--logpath日志路径启动

如:mongod --dbpath D:\software\mongodb\mongodb-win32-x86_64-windows-6.0.5\data\db --logpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/logs/mongodb.log

 

这样日志都打印在指定的日志文件里了,命令窗口就没有日志了,可打开mongodb.log文件,里面记录了日志

但是这样每次都需要进入bin目录通过mongod --dbpath ...  启动,很麻烦!!!

3、简化mongodb的启动

先停掉之前启动的mongodb,直接在之前的命令窗口Ctrl+c就会停掉

  (1)在控制面版编辑环境变量,path添加mongodb的bin目录,添加之后需要重启电脑生效

如果不在系统变量中的path指定mongodb的bin目录,则需要每次在bin目录启动mongod.exe

生效之后,在任意目录都可以使用:mongod --dbpath xxx启动mongodb了

(2)以管理员身份打开power shell

 

 

 (3)指定serviceName来install mongodb

如:mongod --logpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/logs/mongodb.log --logappend --dbpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/data/db --directoryperdb --serviceName MongoDB --install

然后net start MongoDB启动服务

 

 

 这里启动失败,是因为之前启动过了

可以查看日志文件,会有下面的错误信息

"attr":{"error":"InvalidOptions: Requested option conflicts with current storage engine option for directoryPerDB; you requested true but the current server storage is already set to false and cannot be changed"}

请求的选项与directoryPerDB的当前存储引擎选项冲突;您请求了true,但当前服务器存储已设置为false,无法更改

这应该是因为之前启动进程时没有添加directoryPerDB配置项,但是现在加上了该启动项,由于之前的数据库已经进行了设置,无法更改。

此处参考了 https://blog.csdn.net/weixin_42976232/article/details/104983683

解决方法:新建一个文件夹,存放db,比如在data文件里再新建一个db2(或者删除之前的db文件夹里的内容),更改配置项dbpath,从新启动即可,此时mongodb就像一个新的数据库

 

 

 

 a、如果是没有数据的,可以选择清空之前的db文件夹里的内容,然后直接用net start MongoDB启动服务

 

 

 

b、如果不想删除之前db里的内容,可以新建一个文件夹,重新指定dbpath

这种方式需要以下几步

1)PowerShell运行sc.exe delete MongoDB删除之前安装的服务

对PowerShell用户的注意: sc别名为set-content。因此sc delete service实际上将创建一个delete带有内容的文件service。要在Powershell中执行此操作,请改用sc.exe delete service

此处参考了   https://qastack.cn/programming/76074/how-can-i-delete-a-service-in-windows

 

 

 2)重新指定--dbpath安装服务

 mongod --logpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/logs/mongodb.log --logappend --dbpath D:/software/mongodb/mongodb-win32-x86_64-windows-6.0.5/data/db2 --directoryperdb --serviceName MongoDB --install

安装完之后就可以net start MongoDB启动服务了

 这样就可以连mongodb数据库了

net stop MongoDB可停止服务

 

  启动服务需要管理员身份,普通的cmd命令窗口不行

 

 所以需要启动时,打开管理员身份的PowerShell来net start MongoDB启动服务和net stop MongoDB停止服务

4、安装mongoshell

mongodb6.0以下的在mongodb的bin目录里就有mongoshell的启动程序mongosh.exe

mongodb6.0版本以上需要另外下载mongoshell才能使用mongoshell

(1)下载mongoshell

进入官网 https://www.mongodb.com

 

然后

 

 

 

或者直接点击链接 https://www.mongodb.com/try/download/shell

 

 

解压之后,可在解压的bin目录点击mongosh.exe或者cmd命令窗口进入bin目录运行mongosh命令启动shell(启动之前记得先启动mongodb的服务)

 

 

 

 这样就可以使用mongoshell了

(2)简化启动mongoshell

如果不在系统环境变量path中配置mongoshell的bin目录,则每次都需要在mongoshell的bin目录下启动shell

在控制面版的系统环境变量path中配置mongoshell的bin目录

 

 配置好之后,重启电脑生效

重启之后在任意目录的cmd窗口运行mongosh命令启动mongoshell

 

5、附注

Get-Service  查看服务列表
net start serviceName  启动名为serviceName的服务
net stop serviceName  停止名为serviceName的服务
sc delete serviceName  删除名为serviceName的服务
PowerShell中使用sc.exe delete serviceName 删除名为serviceName的服务