node.js - MongoDB 连接到远程服务器

标签 node.js mongodb mongoose ssh remote-server

我正在使用远程 mongoDB 服务器。当我使用 Robo3T 使用用户名和密码连接时,它将成功连接(ssh)。

然而,当我在我的 Node 服务器中使用它时,它会给出以下错误。

代码

mongoose.Promise = require('bluebird');
mongoose.connect('mongodb://156.6*.***.***:22/TestDB',
{user:'root', pass:'********', useMongoClient: true} , 
error => {
console.log(error);
}
 );

错误

{ 
  err: 'socketHandler',
  trace: '',
  bin: undefined,
  parseState:
   { 
     sizeOfMessage: 759714643,
     bytesRead: undefined,
     stubBuffer: undefined
   } 
}
Unhandled rejection (<{"err":"socketHandler","trace":"","par...>, no stack trace)

我试了很多方法。但它总是返回该错误。我该如何解决这个问题?

最佳答案

尝试将 pass 更改为 password

mongoose.Promise = require('bluebird');
mongoose.connect(
  'mongodb://156.6*.***.***:22/TestDB',
  {
    auth: {
      user:'root',
      password:'********',
    },
    useMongoClient: true
  },
  err => {
    console.log(err);
  },
);

我还添加了一个日志来捕获可能抛出的任何错误。如果它不起作用,请告诉我们它的输出。

关于node.js - MongoDB 连接到远程服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52913809/

相关文章:

node.js - 创建文档时如何附加文件

javascript - Mongoose:递归迭代以更新树状结构中的属性

node.js - mongodb:将上一个管道结果的数组引用到下一个管道

mongodb - 使用 mongo 查询按 id 更新数组元素

javascript - 使用 async.each 异步循环 mongoose 集合

node.js - 如何在推送到数组之前检查子文档是否存在

node.js - 未捕获从 mongoose-promise 回调函数抛出的错误

java - 在 Node.js 中使用 base64 rsa 公钥进行加密

javascript - 如何使用 if else 比较显示项目列表

node.js - 对周围的所有 Node JS 框架/库等感到困惑