2

我尝试通过 mLab.com 连接 MongoDB。它被重定向到 MongoDB Atlas。我创建了一个项目和集群。尝试连接时,我收到错误的身份验证错误,尽管我的凭据是正确的。

密码包含特殊字符。我也尝试用 ASCII 十六进制代码替换这些特殊字符,但没有响应。

我在下面的代码中替换了我的密码

配置/keys.js

module.exports = {
  mongoURI: `mongodb+srv://Nikhilesh:<password>@devconnector-gicbg.mongodb.net/test?retryWrites=true`
};

服务器.js

const mongoose = require("mongoose");
const db = require("./config/keys").mongoURI;

mongoose
  .connect(db, { useNewUrlParser: true })
  .then(() => console.log("DB Connected"))
  .catch(e => console.log(e));

结果:

{ MongoError: bad auth Authentication failed.
    at _authenticateSingleConnection (F:\Web Development\MERN\Projects\DevConnector\node_modules\mongodb-core\lib\auth\auth_provider.js:46:25)
    at sendAuthCommand (F:\Web Development\MERN\Projects\DevConnector\node_modules\mongodb-core\lib\auth\scram.js:214:18)
    at Connection.messageHandler (F:\Web Development\MERN\Projects\DevConnector\node_modules\mongodb-core\lib\connection\connect.js:334:5)
    at Connection.emit (events.js:182:13)
    at processMessage (F:\Web Development\MERN\Projects\DevConnector\node_modules\mongodb-core\lib\connection\connection.js:364:10)
    at TLSSocket.<anonymous> (F:\Web Development\MERN\Projects\DevConnector\node_modules\mongodb-core\lib\connection\connection.js:533:15)
    at TLSSocket.emit (events.js:182:13)
    at addChunk (_stream_readable.js:283:12)
    at readableAddChunk (_stream_readable.js:264:11)
    at TLSSocket.Readable.push (_stream_readable.js:219:10)
    at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:94:17)
  ok: 0,
  errmsg: 'bad auth Authentication failed.',
  code: 8000,
  codeName: 'AtlasError',
  name: 'MongoError',
  [Symbol(mongoErrorContextSymbol)]: {} }
4

1 回答 1

0

将你的猫鼬降级到 5.4.6。

在猫鼬连接代码集下面,添加

猫鼬.Promise = global.Promise;

让我知道它是否有效。

于 2019-05-02T16:49:12.023 回答