使用mongoose和Fixie(Heroku附加组件)连接到mongodb
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用mongoose和Fixie(Heroku附加组件)连接到mongodb相关的知识,希望对你有一定的参考价值。
我有一个托管在Atlas MongoDB云集群上的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.connect
函数接受option parameter,但我找不到任何关于通过代理建立连接的选项。
刚刚得到了Fixie团队的回复:
Fixie是一个http / https代理,因此它不适用于您需要mongodb连接的低级TCP连接
当我询问在这种情况下使用SOCKS的可能性时,他们回答说:
看起来mongoose本身不支持socks代理,它不接受自定义套接字(这是mysql和Postgres的Node数据库驱动程序支持它的方式)。
显然,就我而言,没有办法通过Fixie(Heroku Add-on)提供的代理解决方案使用mongoose与MongoDB Atlas集群建立连接。
以上是关于使用mongoose和Fixie(Heroku附加组件)连接到mongodb的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Fixie Socks(Heroku 插件)通过 mongoose 连接到 mongodb
在 Heroku 中使用静态 IP 来托管 Discord 机器人
如何在 Mongoose 上将 MongoDB 连接到 Heroku?
Heroku 上的 Node.js Express 应用程序不会使用 Mongoose 连接到 MongoLab 数据库