CNode

nodejs使用mongoose怎么连接远程mongo,求示例代码?

问答
Rrenjunqing发布于11 年前最后回复9 年前11 回复10642 浏览0 收藏

如题,我在本地连接115.26.37.154上的mongodb,求教怎么连接,我使用robomongo,用了其中的ssh登录的方法,在node中怎么写呢?

查看回复

回复 (11)

J
jysperm#1·11 年前

要么监听在公网 IP 上,要么自己用 ssh 建隧道(ssh -L

I
i5ting#2·11 年前

不是很理解

  1. 你的server访问哪个服务器,无所谓
  2. robo只是客户端而已,如果你的mongod没有设置权限就直接连就好了
  3. ssh只是说你自己的电脑和服务器的链接

mongoose就是用ip地址,如果为了安全就bind 127.0.0.1,和alsotang的做法一样,如果加验证,可以参考我的一个帖子

R
renjunqing#3·11 年前

@i5ting 如果本地我可以这么写: mongoose.connect('mongodb://127.0.0.1/you', function (err) { }); 如果是115.26.37.154,是这么写吗? mongoose.connect('mongodb://115.26.37.154/you', function (err) { }); 好像会连接失败

I
i5ting#4·11 年前

端口呢?

J
jysperm#5·11 年前
引用 i5ting不是很理解 1. 你的server访问哪个服务器,无所谓 2. robo只是客户端而已,如果你的mongod没有设置权限就直接连就好了 3. ssh只是说你自己的电脑和服务器的链接 mongo...

@i5ting 楼主的意思是,他的 mongodb 开在另一台服务器上(很可能监听在 127.0.0.1),他自己管理的时候用的是 robomongo 的 SSH 隧道功能连接上去的,但是他不知道怎么用 mongoose 来连接。

所以我对楼主的建议在一楼。

R
renjunqing#6·11 年前

连接mongo自动添加默认端口27017,如图: QQ截图20150301101025.png

R
renjunqing#7·11 年前

@jysperm 就是这个意思, 监听公网iP就是直接将node部署到服务器上? 能写个简单示例代码吗?有没有相关的资料我去看下。

C
CocaCola183#8·11 年前

帮顶一下,有同样的问题

J
jysperm#9·11 年前
引用 renjunqing连接mongo自动添加默认端口27017,如图:

@renjunqing 就是说把 MongoDB 监听在 115.26.37.154 而非 127.0.0.1. 这样的话你需要配置证书验证或密码验证,否则别人也可以访问你的数据库。 我还是建议用 ssh -L 来建一个隧道,就像 robomongo 那样。

Z
zheng-chuang#10·9 年前
mongoose.connect('mongodb://username:password@host:port/database?options...');

详见文档Connections 链接之前要注意在对应的数据库中创建用户

参与回复
登录后即可参与回复。登录