我如何将mongodb连接到笔记本电脑?

时间:2020-11-01 01:43:26

标签: javascript mongodb express mongoose body-parser

我注册了一个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'
}

2 个答案:

答案 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)