【问题标题】:Mongoose authentication fails everytime when connecting to mongoLab每次连接 mongoLab 时,Mongoose 身份验证都会失败
【发布时间】:2015-10-12 13:14:03
【问题描述】:

我是这个领域的初学者,我找不到任何解决这个问题的方法。 我正在使用 MongoLabs 数据库服务在 Node.js 中构建一个聊天应用程序。 我正在尝试使用 mongoose@3.8.10 驱动程序连接到 mongoDB。 我检查了很多次,一切都很好,但我仍然得到“Auth Failed Error Code 18”。

这是我的 package.json

  dependencies: {
    "connect-mongo": "^0.4.1",
    "cookie-parser": "^1.1.0",
    "express": "^4.2.0",
    "express-session": "^1.2.0",
    "hogan-express": "^0.5.2",
    "mongoose": "^3.8.10",
    "passport": "^0.2.0",
    "passport-facebook": "^1.0.3",
    "socket.io": "^0.9.17"
  }

为了更好地理解“如何使用 Mongoose 作为驱动程序连接到 MonoDB”,我参考了 mongoose 文档。但我找不到解决方案。 这是我尝试连接的代码:

var express = require('express'),

app     = express(),

path    =   require('path'),

config  = require('./config/config.js'),

session = require('express-session'),

ConnectMongo = require('connect-mongo')(session),

mongoose = require('mongoose'),

passport = require('passport'),

FacebookStrategy = require('passport-facebook').Strategy;



var db = mongoose.connect(config.dbURL);

mongoose.connect(config.dbURL, function (err, res) { 
  if (err) { 
           console.log ('ERROR connecting to: ' + config.dbURL + '. ' + err + '----- db =' +  db );
   } else {  console.log ('Succeeded connected to: ' + config.dbURL); 
   }
  });

config.dbURL 是我从 mongoLab 获得的 url 它是这样的:

   'mongodb://{DBuser}:{DBpswrd}@ds0{port}.mongolab.com:{port}/{dbName}'

【问题讨论】:

  • 我在控制台上得到这个输出:连接错误:{ [MongoError: auth failed] name: 'MongoError', ok: 0, errmsg: 'auth failed', code: 18 }跨度>

标签: node.js mongodb authentication mongoose mlab


【解决方案1】:

您使用的是 MongoLab Sandbox 数据库,该数据库运行带有 SCRAM-SHA-1 的 MongoDB 3.0。

您必须根据 MongoDB 3.0-SCRAM 文档将 Mongoose 驱动程序更新到使用 1.4.29 或更高版本的基础 Node.js 驱动程序的更高版本。

【讨论】:

  • 我已经更新了驱动程序,验证问题已修复,现在提示设置 TTL 索引失败请查看错误截图prntscr.com/8rmei0
  • 我猜 TTL 索引是用于会话存储的。您可以尝试删除该集合和/或将该会话管理库版本升级到更新的版本。
猜你喜欢
  • 1970-01-01
  • 2013-12-29
  • 2016-01-01
  • 1970-01-01
  • 2015-07-09
  • 1970-01-01
  • 2010-09-12
  • 2021-01-18
  • 1970-01-01
相关资源
最近更新 更多