我对Node js和mongo db很陌生
当我在代码上使用npm start时, 它给出了这个错误
server running in production mode on port 5000
{ MongoError: bad auth Authentication failed.
at MessageStream.messageHandler (/home/suyash/Documents/app/node_modules/mongodb/lib/cmap/connection.js:268:20)
at MessageStream.emit (events.js:198:13)
at processIncomingData (/home/suyash/Documents/app/node_modules/mongodb/lib/cmap/message_stream.js:144:12)
at MessageStream._write (/home/suyash/Documents/app/node_modules/mongodb/lib/cmap/message_stream.js:42:5)
at doWrite (_stream_writable.js:415:12)
at writeOrBuffer (_stream_writable.js:399:5)
at MessageStream.Writable.write (_stream_writable.js:299:11)
at TLSSocket.ondata (_stream_readable.js:710:20)
at TLSSocket.emit (events.js:198:13)
at addChunk (_stream_readable.js:288:12)
at readableAddChunk (_stream_readable.js:269:11)
at TLSSocket.Readable.push (_stream_readable.js:224:10)
at TLSWrap.onStreamRead [as onread] (internal/stream_base_commons.js:94:17) ok: 0, code: 8000, codeName: 'AtlasError', name: 'MongoError' }
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! app@1.0.0 start: `cross-env NODE_ENV=production node app`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the app@1.0.0 start script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! /home/suyash/.npm/_logs/2020-09-14T23_12_00_524Z-debug.log
我试图制作一个应用程序,并尝试连接mongodb数据库
在db.js文件中,这是我的代码
const mongoose = require('mongoose')
const connectDB = async () => {
try {
const conn = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser:true,
useUnifiedTopology: true,
useFindAndModify: false,
})
console.log(`MONGODB connected: ${conn.connection.host}`);
} catch (error) {
console.error(error)
process.exit(1)
}
}
module.exports = connectDB
我不知道该怎么办
答案 0 :(得分:0)
我发现我使用的密码不正确,应该在连接字符串上使用用户密码而不是帐户密码。
我在寻找答案时遇到了这个问题,对于node和mongo来说我还是很新。
This is where I found the answer
对不起,如果我的英语不好
答案 1 :(得分:0)
我刚刚创建了一个 db 一个用户并开始但它没有工作。当我在工作 LOL 的 mongo 云中为这个 db 添加一个新用户时。
答案 2 :(得分:0)
我不得不将用户角色从“Atlas 管理员”更改为“读取和写入任何数据库”,然后我才能使用。