通过Cloud 9进行远程MongoDB访问会导致登录失败异常

时间:2015-11-22 05:50:22

标签: mongodb mongoose cloud9-ide mlab database

我正在使用Cloud 9 IDE使用MongoDB开发应用程序。我在MongoLab和以下用户创建了一个名为“appdata”的数据库:

{
"_id": "appdata.admin",
"user": "admin",
"db": "appdata",
"credentials": {
    "SCRAM-SHA-1": {
        "iterationCount": 10000,
        "salt": "K/WUzUDbi3Ip4Vy59gNV7g==",
        "storedKey": "9ow35+PtcOOhfuhY7Dtk7KnfYsM=",
        "serverKey": "YfsOlFx1uvmP+VaBundvmVGW+3k="
    }
},
"roles": [
    {
        "role": "dbOwner",
        "db": "appdata"
    }
]
}

每当我尝试使用以下命令通过Cloud 9 Shell连接到数据库时(由MongoLab和我新创建的用户一起提供):

mongo ds057244.mongolab.com:57244/appdata -u admin -p admin 

我收到以下错误消息:

MongoDB shell version: 2.6.11
connecting to: ds057244.mongolab.com:57244/appdata
2015-11-22T05:23:49.015+0000 Error: 18 { ok: 0.0, errmsg: "auth failed",
code: 18 } at src/mongo/shell/db.js:1292
exception: login failed

此外,在我在Cloud 9上运行的javascript文件中,在跟随this tutorial(使用mongoose访问数据库)时,我被困在了邮路上。每当我通过设置了指定字段的邮递员发送邮件请求时,路由不返回任何内容,既不创建熊也不返回错误消息,这使我认为问题也无法登录到数据库。之前的get请求工作正常,我的代码与教程完全相同。

有谁知道任何案件中的问题以及解决问题我需要做些什么?

1 个答案:

答案 0 :(得分:0)

  1. 修复了shell问题,将其更新为数据库版本(3.0.3)。
  2. 对于javascript文件,我重新启动了教程并确保使用最新的稳定版本(不是教程中显示的版本)下载了所有必需的依赖项,之后问题就解决了。