今天遇到了在windows下连接mongodb错误的情况,因为之前安装是正常的,而重启的电脑之后就再也连接不上。于是在群里求助了下,无果,查阅了官网的英文文档,终于有些眉目了,故此一记。

先吐槽下命令行这种违背历史潮流的东西。

1、exception: connect failed

连接失败,一般是尚未启动mongodb(其实是配置数据库的存储路径就是启动)。mongodb没有默认配置文件,需要命令指定数据存储路径。

2、Invalid command: files\mongodb\data

错误的命令,这里是因为指定的--dbpath目录中有空格,需要用双引号指定,如:

  1. D:\Program files\mongodb\bin>mongod --dbpath "D:\program files\mongodb\data"

3、ERROR: dbpath (D:\program files\mongodb\data) does not exist.

指定的--dbpath目录不存在,在你需要的地方新建data文件夹,然后在data文件夹内新建db文件夹。

4、Unclean shutdown detected.

存在未关闭清理的文件。mongodb在数据库连接、操作的时候都需要锁定数据库,需要在指定的存储目录下新建mongod.lock文件。如果最后一次连接或操作mongodb数据库未正确关闭,则本次连接会报错。

解决办法是先删除mongod.lock文件,然后再连接即可。

5、cmd启动mongodb

如果不想把mongodb添加到windows服务里,也可以新建一个启动mongodb.cmd文件,比如在桌面。然后用文本编辑器打开,写入以下内容:

  1. :: 定位到D盘
  2. d:
  3. :: 切换到mongodb的数据库目录
  4. cd Program files\mongodb\data
  5. :: 删除数据库锁定记录文件
  6. if exist mongod.lock del mongod.lock missing
  7. :: 切换到mongodb的bin目录
  8. cd ..\bin
  9. :: 配置mongodb的文档存储目录
  10. mongod --dbpath "D:\Program files\mongodb\data"

然后再每次需要启动mongodb的时候双击打开该文件即可。

文章来源:http://qianduanblog.com/post/nodejs-learning-8-windows-connect-mongodb-error-and-solutions.html

nodejs学习8:windows连接mongodb出现的错误解决办法的更多相关文章

  1. Virtualbox安装Windows 8.1遇到0x000000C4错误解决办法 - 转

    想要尝试一下 Windows 8.1 系统,又不愿意在电脑上直接安装,虚拟机提供了很好的平台.因为平时工作需要,其实电脑上装的虚拟机还是不少的,每天都要开着几个虚拟机一起用.多一个不多,于是尝试在自己 ...

  2. node-images Windows 64-bit with Unsupported runtime 错误解决办法 及 node 历史版本下载

    在做项目的时候下载的最新的10.16[2019.6.12]版本,出现了模块不兼容的问题[node-images]. 在git上发现了相同问题 https://github.com/zhangyuanw ...

  3. Robomongo连接MongoDB 报 Authorization failed 解决办法

    首先将MongoDB安装文件的bin目录添加到环境变量Path中 如图: 这样就可以直接在cmd命令行,不需要进行目录切换,就可以直接使用啦 打开dos命令框 依次输入下图修改admin密码

  4. TP框架连接mongodb报错及解决办法

    mongodb版本3.4.7 1.认证错误:Failed to connect to: localhost:27017: Authentication failed on database 'test ...

  5. 更改计算机名称后 导致 sql server 2008 R2 用windows账户不能附加的错误解决办法

    出错背景:本人想用sql server 2008 R2 附加sql server 2005数据库出现拒绝访问,后查询网站得知,要用windows身份验证方式登录进去附加, 然后我就用windows身份 ...

  6. Windows 下mysqldump备份1045错误解决办法

    一.我写的备份脚本如下 set d=%date:~0,4%%date:~5,2%%date:~8,2% C:\mysqldump -uroot -ptest@2018 --all-databases ...

  7. MS SQMServer2008R2 连接不到远程服务的解决办法

    问题: MS SQMServer2008R2 连接不到远程服务的解决办法.程序提示的错误如下: [2017/02/19 17:46:21] 在与 SQL Server 建立连接时出现与网络相关的或特定 ...

  8. 分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法

    分享今天在客户那里遇到的SQLSERVER连接超时以及我的解决办法 客户的环境:SQLSERVER2005,WINDOWS2003 SP2  32位 这次发生连接超时的时间是2013-8-5  21: ...

  9. Windows Management Instrumentation 服务无法启动 解决办法

    Win7下 Windows Management Instrumentation 服务无法启动 解决办法: 1. 以管理员身份运行cmd.exe 2. sc config Winmgmt depend ...

随机推荐

  1. poj1742硬币——多重背包可行性

    题目:http://poj.org/problem?id=1742 贪心地想,1.如果一种面值已经可以被组成,则不再对它更新: 2.对于同一种面值的硬币,尽量用较少硬币(一个)更新,使后面可以用更多此 ...

  2. HDU4391(线段树+剪枝)

    Paint The Wall Time Limit: 20000/10000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  3. SQL 排序规则问题

    http://blog.csdn.net/delphigbg/article/details/12744807 MSSQL排序规则总结   什么是排序规则呢? 排序规则根据特定语言和区域设置标准指定对 ...

  4. js修改页面动态添加input框显示与按钮可编辑

    1. <%@ page language="java" contentType="text/html;charset=UTF-8"%> <%@ ...

  5. 【239】◀▶IEW-Unit04

    Unit 4 Youth Issues: Computer Use 1 Model1题目及范文分析 Some teenagers spend a lot of time playing compute ...

  6. C#——委托(1)

    什么是委托?还记得C/C++语言里的函数指针吗?委托就是他的”升级版“.先看一个简单的小程序: # include<stdio.h> typedef int(*Calc)(int a, i ...

  7. C++11 assert/static_assert

    assert assert 是运行期断言,它用来发现运行期间的错误,不能提前到编译期发现错误,也不具有强制性,也谈不上改善编译信息的可读性,既然是运行期检查,对性能当然是有影响的,所以经常在发行版本中 ...

  8. SQL Server 截取两个固定字符之间的字符串(案例)

    网上的问题: 参考这篇<函数PARSENAME使用和截取字符串>https://www.cnblogs.com/insus/p/10958452.html 的方法: )='||MO21|T ...

  9. 核心容器的两个接口(ApplicationContext和BeanFactory)引发出的问题

    BeanFactory 才是Spring 容器中的顶层接口.ApplicationContext 是它的子接口. ApplicationContext 它在构建核心容器时, 创建对象采取的策略是采用立 ...

  10. ue4 动态增删查改 actor,bp

    ue4.17 增 特殊说明:创建bp时,如果bp上随手绑一个cube,那么生成到场景的actor只执行构造不执行beginPlay,原因未知 ATPlayerPawn是c++类 直接动态创建actor ...