NodeJS 远程连接windows 上的MongoDB

Posted kingkangstudy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS 远程连接windows 上的MongoDB相关的知识,希望对你有一定的参考价值。

---恢复内容开始---

在购买了腾讯云主机,部署了nodejs项目之后,发现没有mongo数据库,于是在官网上下载了最新版的mongo数据库。然后就有了下边的一系列问题。

1.先说说基础配置吧。

  1)在mongoDB的安装目录下(与bin目录同级),新建文件夹logs(存放日志)、data(存放数据)和mongo.conf文件,文件目录如下:

  技术分享图片

  mongo.conf文件内容如下:

#数据库路径  
dbpath=C:\\software\\mongo\\data  
#日志输出文件路径  
logpath=C:\\software\\mongo\\logs\\mongo.log  
#错误日志采用追加模式  
logappend=true  
#启用日志文件,默认启用  
journal=true  
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false 
quiet=false
#端口号 默认为27017  
port=27017   

 为了方便,写一个windows的bat文件,直接运行吧

bat文件如下:

echo C:
cd C:\\software\\mongo\\bin // 到mongo的安装目录
mongod --config "C:\\software\\mongo\\mongo.conf"//刚写的mongo的conf

2. 双击bat运行,会产生如下错误(控制台上什么都没有,但logs文件夹下产生的Log有详细信息):

Remote systems will be unable to connect to this server.
Start the server with --bind_ip <address> to specify which IP

技术分享图片

解决方案:

  根据提示,在mongo.conf文件中修改为如下的: 

#数据库路径  
dbpath=C:\\software\\mongo\\data  
#日志输出文件路径  
logpath=C:\\software\\mongo\\logs\\mongo.log  
#错误日志采用追加模式  
logappend=true  
#启用日志文件,默认启用  
journal=true  
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false 
quiet=false
#绑定地址
bind_ip=10.105.50.13// 注意该地址,我一开始配置的是服务器的地址,也就是腾讯云给分配的地址,会报错
#端口号 默认为27017  
port=27017 

 注意bind_ip, 不能配置为腾讯云给你的公网地址,应该为该服务器的私有地址,可通过ipconfig查看该服务器绑定的地址,当然,绑定127.0.0.1也可以的

3.远程连接数据库,会发现连接不上,这是因为,可参考:http://blog.csdn.net/huyangg/article/details/78772877技术分享图片

因此,需要设置登录权限:

  1)按照上述步骤配置完成后,运行,然后,新开一个命令行窗口,运行mongo,然后添加用户,可参考https://docs.mongodb.com/manual/tutorial/change-own-password-and-custom-data/ 

  然后修改配置mongo.conf

#数据库路径  
dbpath=C:\\software\\mongo\\data  
#日志输出文件路径  
logpath=C:\\software\\mongo\\logs\\mongo.log  
#错误日志采用追加模式  
logappend=true  
#启用日志文件,默认启用  
journal=true  
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false 
quiet=false
#绑定地址
bind_ip=10.105.50.13
#添加权限认证
auth=true
#端口号 默认为27017  
port=27017   

   2)连接mongo:

mongo -u 用户名 -p 密码 --authenticationDatabase ‘数据库名‘

 然后远程连接,我这里采用Robo连接,如图操作

技术分享图片技术分享图片

4.nodejs中连接数据库

技术分享图片

mongo_dburl:

mongo_dburl:‘mongodb://用户名:密码@mongo数据库地址:端口号/要连接的数据库‘,

 

  



以上是关于NodeJS 远程连接windows 上的MongoDB的主要内容,如果未能解决你的问题,请参考以下文章

解决Mongodb突然无法远程连接问题及如何在忘记密码的情况下远程备份

用windows模拟nodejs

如何设置服务器上的MongoDB让别的机子远程连接

使用nvm-windows安装nodejs遇到的问题

windows上SSH服务连接远程主机失败

急急急!!高分悬赏,windows 2008远程桌面连接问题