gpt4 book ai didi

node.js - 每次连接到 mongoLab 时 Mongoose 身份验证都会失败

转载 作者:太空宇宙 更新时间:2023-11-04 00:49:57 25 4
gpt4 key购买 nike

我是这个领域的初学者,我找不到解决这个问题的方法。我正在使用 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 文档,以更好地理解“如何使用 Mongoose 作为驱动程序连接到 MonoDB”。但我找不到解决办法。这是我尝试连接的代码:

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}'

最佳答案

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

您必须将 Mongoose 驱动程序更新到更高版本,该版本使用 MongoDB 3.0-SCRAM 版本 1.4.29 或更高版本的底层 Node.js 驱动程序。文档。

关于node.js - 每次连接到 mongoLab 时 Mongoose 身份验证都会失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33082095/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com