gpt4 book ai didi

node.js - 通过 mongoose 连接到 MongoDB 会出现 auth failed 错误

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

我正在尝试使用如下连接字符串连接到我的 Mongo 集群:

module.exports = {
MongoURI: MongoURI: 'mongodb+srv://philip:DummyPassword9$@test-cluster-026fd.mongodb.net/test?retryWrites=true'
}

并在 app.js 中设置我的配置:

const express = require('express');
const expressLayouts = require('express-ejs-layouts');
const mongoose = require('mongoose');

const app = express();

// DB Config
const db = require('./config/keys').MongoURI;

// Connect to Mongo
mongoose.connect(db, { useNewUrlParser: true })
.then(() => console.log('MongoDB Connected....'))
.catch(err => console.log(err));

//EJS
app.use(expressLayouts);
app.set('view engine', 'ejs');

// Routes
app.use('/', require('./routes/index'));
app.use('/users', require('./routes/users'));

const PORT = process.env.PORT || 5000;

app.listen(PORT, console.log(`Server started on port ${PORT}`));

但是我没有连接到 Mongo 集群,而是收到错误:

MongoError: authentication fail

我阅读了在网上可以找到的与此问题相关的所有内容,我尝试像这样编码我的密码:

module.exports = {
MongoURI: `mongodb+srv://philip:${encodeURIComponent('DummyPassword9')}$@test-cluster-026fd.mongodb.net/test?retryWrites=true`
}

但我仍然无法连接并收到此错误。我确信我的帐户密码是正确的,我做错了什么?

最佳答案

您正在通过 URL 进行连接,因此您必须将密码更改为 URL 编码格式。
"$" 替换为 "%24" 并检查。
引用:HTML URL ENCODINGS

关于node.js - 通过 mongoose 连接到 MongoDB 会出现 auth failed 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55574887/

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