【问题标题】:Connecting to a mongoDB with a TCP prefix on a NodeJS application在 NodeJS 应用程序上使用 TCP 前缀连接到 mongoDB
【发布时间】:2016-11-18 05:13:30
【问题描述】:

我创建了一个与 MongoDB 连接的 NodeJS 应用程序,它似乎可以在本地工作。

现在,在远程机器上托管 NodeJS 应用程序后,我正在尝试连接到已在该机器上创建的 mongoDB。当我打印出一些环境变量时,我看到的唯一相关似乎是:

MONGODB_PORT: 'tcp://172.30.204.90:27017',

我尝试像往常一样进行连接 mongoose.connect('mongodb://localhost:27017/metadata/') 并将其替换为mongoose.connect('tcp://172.30.204.90:27017/metadata'),但我收到一条错误消息,提示我的 URI 需要以 'mongodb' 开头。

所以我尝试用mongoose.connect('mongodb://172.30.204.90:27017/metadata') 替换它,它不再抛出任何错误。但是在 MongoDB 方面,我没有看到任何新的连接发生,我的应用程序也没有在机器上启动。我应该在 URI 中添加什么内容?

【问题讨论】:

    标签: node.js mongodb sockets tcp mongoose


    【解决方案1】:

    你的 URI 确实应该以 mongodb 开头:

    mongoose.connect('mongodb://username:password@host:port/database?options...');
    

    有关更多信息,请参阅此页面:https://docs.mongodb.com/manual/reference/connection-string/

    您是否尝试从 cli 连接到数据库?或 Telnet 以查看该连接未被阻止。

    【讨论】:

    • 它没有被阻止,但也没有接受,似乎没有任何连接
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-05-24
    • 1970-01-01
    • 2020-05-08
    • 2014-07-09
    • 1970-01-01
    • 2020-06-26
    • 1970-01-01
    相关资源
    最近更新 更多