我注册了一个mongodb帐户,并尝试将其与笔记本电脑连接。一直给我这个错误
这是我的猫鼬联系页面
mongoose.connect(
'mongodb+srv://${process.env.MONGO_DB_USER}:${process.env.MONGO_DB_PASSWORD}@cluster0.atfhj.mongodb.net/${process.env.MONGO_DB_DATABASE}?authSource=yourDB&w=1',
{
useUnifiedTopology: true,
useNewUrlParser: true
}).then(() => {
console.log("database connected");
}).catch((err) => console.log(err));
app.use(bodyParser)
这是错误
server started on port 5000
MongoError: Authentication failed.
at MessageStream.messageHandler (C:\Users\JUWONCALEB.DESKTOP-CMA289U\Desktop\UDEMY\ECOMMERCE\backend\node_modules\mongodb\lib\cmap\connection.js:268:20)
at MessageStream.emit (events.js:314:20)
at processIncomingData (C:\Users\JUWONCALEB.DESKTOP-CMA289U\Desktop\UDEMY\ECOMMERCE\backend\node_modules\mongodb\lib\cmap\message_stream.js:144:12)
at MessageStream._write (C:\Users\JUWONCALEB.DESKTOP-CMA289U\Desktop\UDEMY\ECOMMERCE\backend\node_modules\mongodb\lib\cmap\message_stream.js:42:5)
at doWrite (_stream_writable.js:403:12)
at writeOrBuffer (_stream_writable.js:387:5)
at MessageStream.Writable.write (_stream_writable.js:318:11)
at TLSSocket.ondata (_stream_readable.js:719:22)
at TLSSocket.emit (events.js:314:20)
at addChunk (_stream_readable.js:298:12)
at readableAddChunk (_stream_readable.js:273:9)
at TLSSocket.Readable.push (_stream_readable.js:214:10)
at TLSWrap.onStreamRead (internal/stream_base_commons.js:188:23) {
ok: 0,
code: 8000,
codeName: 'AtlasError'
}
答案 0 :(得分:0)
插入字符串时必须使用反引号。
recyclerView
答案 1 :(得分:0)
我注意到您在''
处使用字符串,而不是在``
处使用字符串。因此,这可能就是您收到该错误的原因。
另一个可能性是您可能以错误的方式配置了env
。通过使用控制台日志记录来检查您的环境是否正常工作。
最后,我建议您将整个mongoDB连接放置为env
,然后只使用env而不用担心字符串。
例如:
.env文件内部:
DATABASE_CONNECTION=mongodb+srv://the-user:user-password@cluster0.atfhj.mongodb.net/your-database?authSource=yourDB&w=1
然后就这样做
mongoose.connect(
process.env.DATABASE_CONNECTION,
{
useUnifiedTopology: true,
useNewUrlParser: true
}).then(() => {
console.log("database connected");
}).catch((err) => console.log(err));
app.use(bodyParser)