我有一个托管在 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 ,但我找不到任何关于通过代理建立连接的选项。
最佳答案
刚收到 Fixie 团队的回复:
Fixie is an http/https proxy, so it won't work for lower-level TCP connections like you'd need for your mongodb connection
当我询问在这种情况下使用 SOCKS 的可能性时,他们回答说:
It looks like mongoose does not natively support socks proxies, and it does not accept a custom socket (which is how Node database drivers for MySQL and Postgres support it).
显然,就我而言,无法通过 Fixie(Heroku 附加组件)提供的代理解决方案使用 mongoose 建立与 MongoDB Atlas 集群的连接。
关于node.js - 使用 mongoose 和 Fixie(Heroku 附加组件)连接到 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42229390/