今天遇到了在windows下连接mongodb错误的情况,因为之前安装是正常的,而重启的电脑之后就再也连接不上。于是在群里求助了下,无果,查阅了官网的英文文档,终于有些眉目了,故此一记。
先吐槽下命令行这种违背历史潮流的东西。
1、exception: connect failed
连接失败,一般是尚未启动mongodb(其实是配置数据库的存储路径就是启动)。mongodb没有默认配置文件,需要命令指定数据存储路径。
2、Invalid command: filesmongodbdata
错误的命令,这里是因为指定的--dbpath
目录中有空格,需要用双引号指定,如:
- D:Program filesmongodbin>mongod --dbpath "D:program filesmongodbdata"
3、ERROR: dbpath (D:program filesmongodbdata) does not exist.
指定的--dbpath
目录不存在,在你需要的地方新建data
文件夹,然后在data
文件夹内新建db
文件夹。
4、Unclean shutdown detected.
存在未关闭清理的文件。mongodb在数据库连接、操作的时候都需要锁定数据库,需要在指定的存储目录下新建mongod.lock
文件。如果最后一次连接或操作mongodb数据库未正确关闭,则本次连接会报错。
解决办法是先删除mongod.lock
文件,然后再连接即可。
5、cmd启动mongodb
如果不想把mongodb添加到windows服务里,也可以新建一个启动mongodb.cmd
文件,比如在桌面。然后用文本编辑器打开,写入以下内容:
- :: 定位到D盘
- d:
- :: 切换到mongodb的数据库目录
- cd Program filesmongodbdata
- :: 删除数据库锁定记录文件
- if exist mongod.lock del mongod.lock missing
- :: 切换到mongodb的bin目录
- cd ..in
- :: 配置mongodb的文档存储目录
- mongod --dbpath "D:Program filesmongodbdata"
然后再每次需要启动mongodb的时候双击打开该文件即可。
文章来源:http://qianduanblog.com/post/nodejs-learning-8-windows-connect-mongodb-error-and-solutions.html