node.js - 使用 mongoose 和 Fixie(Heroku 附加组件)连接到 mongodb

标签 node.js mongodb heroku mongoose proxy

我有一个托管在 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/

相关文章:

javascript - Nodejs EventEmitter - 定义监听器功能的范围

security - 我需要哪些 MongoDB 用户权限才能将用户添加到新的/另一个 mongo 数据库?

node.js - 如何使用 arrayFilters 更新数组中的元素

mongodb - 使用聚合框架对每个组进行分组并取前 K

node.js - Express 4 应用程序 - Node ./bin/www X nodejs ./bin/www

ruby-on-rails - heroku ssl endpoint add cert 给出内部错误,更新给出 undefined first for nil

node.js - 主干 Node 不工作( headless TDD/开发)

node.js - 我如何知道 Mongodb 服务器正在运行 --auth on ?

heroku - 对于给定的 Heroku Dyno *实例*,外部 IP 地址在该实例的生命周期内是否稳定?

node.js - 将可变数量的参数传递给 Node v4 中的父构造函数