我有一个托管在Atlas MongoDB Cloud集群上的mongodb数据库。我目前正在使用mongoose访问我的node.js应用程序中的数据库:
mongoose.connect("mongodb://user:pw@cluster0-shard-00-00-***.mongodb.net:***,cluster0-shard-00-01-***.mongodb.net:***,cluster0-shard-00-02-***.mongodb.net:***/admin?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin");
由于Atlas MongoDB Cloud具有白名单,而Heroku无法为我的应用程序获取固定IP地址,因此我使用Fixie add-on。基本上,Fixie充当出站流量的代理。
这样,我可以通过HTTP请求资源,这些资源通过Fixie提供的固定IP地址进行隧道传输。但我需要的是使用Fixie的代理连接到Atlas Cloud集群,以便从数据库中检索和修改数据。
可以使用mongoose吗?
mongoose.connect
函数接受option parameter,但我无法找到有关通过代理建立连接的任何选项。
答案 0 :(得分:4)
刚刚得到了Fixie团队的回复:
Fixie是一个http / https代理,因此它不适用于您需要mongodb连接的低级TCP连接
当我询问在这种情况下使用SOCKS的可能性时,他们回答说:
看起来mongoose本身不支持socks代理,并且它不接受自定义套接字(这是MySQL和Postgres的Node数据库驱动程序支持它的方式)。
显然,就我而言,没有办法通过Fixie(Heroku Add-on)提供的代理解决方案使用mongoose与MongoDB Atlas集群建立连接。