我有一个托管在 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 地址的可能性,因此我使用修复插件 https://devcenter.heroku.com/articles/fixie。 Fixie 基本上充当出站流量的代理。
这样,我可以通过 HTTP 请求资源,这些资源通过 Fixie 提供的固定 IP 地址进行隧道传输。但我真正需要的是使用 Fixie 的代理连接到 Atlas Cloud 集群,以便从数据库中检索和修改数据。
可以使用猫鼬来完成吗?
The mongoose.connect
函数接受一个选项参数 http://mongoosejs.com/docs/connections.html#options,但我找不到任何有关通过代理建立连接的选项。
刚刚收到Fixie团队的回复:
Fixie 是一个 http/https 代理,因此它不适用于 mongodb 连接所需的较低级别的 TCP 连接
当我询问在这种情况下使用 SOCKS 的可能性时,他们回答说:
看起来 mongoose 本身并不支持袜子代理,并且它不接受自定义套接字(这就是 MySQL 和 Postgres 的 Node 数据库驱动程序支持它的方式)。
显然,就我而言,无法通过 Fixie(Heroku Add-on)提供的代理解决方案使用 mongoose 建立与 MongoDB Atlas 集群的连接。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)