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数据库地址:端口号/要连接的数据库',

 

  

posted @ 2018-01-03 11:36  古道瘦西风  阅读(1274)  评论(0编辑  收藏  举报