我有一个托管在Atlas MongoDB Cloud集群上的mongodb数据库。我目前使用mongoose在我的node.js应用程序中访问数据库:
由于Atlas MongoDB Cloud有白名单,而Heroku没有为我的应用程序提供获取固定IP地址的可能性,因此我正在使用Fixie add-on。基本上,Fixie充当出站流量的代理。
通过这种方式,我可以通过HTTP请求资源,这些资源通过Fixie提供的固定IP地址进行隧道传输。但是我确实需要使用Fixie的代理连接到Atlas Cloud集群,以便从数据库中检索和修改数据。
mongoose能否做到这一点?
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参数,但我找不到关于通过代理建立连接的任何选项。
0.0.0.0/0
(所有IP地址)的流量,或者2)获取一个Heroku Private Space,该选项具有静态IP选项(需要他们的企业版,据说起价超过$1k/mo)。看起来Mongoose的node-mongodb-native/connection
驱动程序需要接受自定义套接字连接。 - Pete0.0.0.0/0
。由于这是一个沙盒应用程序,我并不真的在意。将来我可能会转移到AWS上的EC2以获得静态IP。 - drew578