我有一个在Atlas MongoDB云集群上托管的mongodb数据库。我目前正在访问该数据库在我的Node.js应用程序中使用猫鼬:使用猫鼬和Fixie连接到mongodb(Heroku附加组件)
mongoose.connect("mongodb://user:[email protected]***.mongodb.net:***,cluster0-shard-00-01-***.mongodb.net:***,cluster0-shard-00-02-***.mongodb.net:***/admin?ssl=true&replicaSet=Cluster0-shard-0&authSource=admin");
因为MongoDB的图集云有一个白名单,以及Heroku的不提供可能获得一个固定的IP地址,我的申请,我使用Fixie add-on。基本上Fixie充当出站流量的代理。
这样,我可以通过HTTP请求资源,这些资源通过Fixie提供的固定IP地址进行隧道传输。但是我需要的是使用Fixie的代理连接到Atlas Cloud集群,以便从数据库中检索和修改数据。
可以使用猫鼬完成吗?
mongoose.connect
函数接受option parameter,但我找不到有关通过代理建立连接的任何选项。
我处于相同的情况(Heroku + Node/Express + Mongoose + MongoDB Atlas)。我知道的两个当前选项是1)允许MongoDB Atlas接受来自“0.0.0.0/0”(所有IP地址)的流量,或者2)获得具有静态IP选项的Heroku私人空间(需要它们企业版,这个传闻已经开始在1万美元/月以上)。它看起来像Mongoose的'node-mongodb-native/connection'驱动程序是它需要接受自定义套接字连接的地方。 – Pete