我正在尝试连接到我的MongoDB Atlas数据库,但是它不起作用,而且我似乎无法弄清原因。
我确保我在用户名和密码中没有使用非法字符,并且尝试了不同的连接字符串。我已经尝试关闭防火墙。
server.js
const express = require("express");
const mongoose = require("mongoose");
const bodyParser = require("body-parser");
const app = express();
app.use(
bodyParser.urlencoded({
extended: false
})
);
app.use(bodyParser.json());
const db = require("./keys").mongoURI;
mongoose.connect( db, { useNewUrlParser: true } )
.then(() => console.log("MongoDB successfully connected"))
.catch(err => console.log(err));
const port = process.env.PORT || 5000; // process.env.port is Heroku's port if you choose to deploy the app there
app.listen(port, () => console.log(`Server up and running on port ${port} !`));
keys.js
module.exports = {
mongoURI: "mongodb+srv://username:password@mernauth-lksvn.mongodb.net/test?retryWrites=true&w=majority"
};
我用真实的用户名和密码替换了连接字符串中的用户名和密码。
编辑:解决方案 即使我同时使用了我的IP地址和MongoDB Atlas为我建议的默认IP地址,但都没有用。我想我没有一个有效的IP地址,所以一旦我打开了所有IP地址的数据库,它就起作用了!