在设置好mongoconfiguration
后,我试图连接到mongodb,但是一个错误不断弹出,我无法设置连接:
x1c 0d1x的数据
MongoError: failed to connect to server [cluster0.mndwygw.mongodb.net:27017] on first connect [Error: getaddrinfo ENOTFOUND cluster0.mndwygw.mongodb.net
at GetAddrInfoReqWrap.Onlookupall [as oncomplete] (node:dns:118:26) {
name: 'MongoError'
}]: did not connect
字符串
下面是我使用的index.js
文件:
- index.js *
import express from "express";
import bodyParser from "body-parser";
import mongoose from "mongoose";
import cors from "cors";
import dotenv from "dotenv";
import helmet from "helmet"
import morgan from "morgan"
// CONFIGURATIONS
dotenv.config()
const app = express();
app.use(express.json());
app.use(helmet());
app.use(helmet.crossOriginResourcePolicy({policy: "cross-origin"}));
app.use(morgan("common"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended:false}));
app.use(cors());
// MONGOOSE SETUP
const PORT = process.env.PORT || 9000;
mongoose.Promise = global.Promise;
mongoose.connect(process.env.MONGO_URL, {
// useNewUrlParser: true,
// useUnifiedTopology: true,
useMongoClient: true,
})
.then(async () => {
app.listen(PORT, ()=> console.log(`Server Port: ${PORT}`));
})
.catch((error) => console.log(`${error}: did not connect`));`
型
我已经检查了我的MONGO_URL
是正确的(在我的.env
文件中)
.ENV文件:
MONGO_URL ="mongodb+srv://dummyUser:<password>@cluster0.mndwygw.mongodb.net/?retryWrites=true&w=majority"
型
- (显然“”不是真实的的密码)*
- 我尝试更改群集的网络访问(添加不同的IP地址)
- 我试图删除我的笔记本电脑的DNS缓存。
- 我检查了网络连接是否稳定
- 我检查了我连接的网络上没有任何限制或防火墙。
我期望发生的是控制台将记录代码中编写的端口号。
Mongo Schema?
另一个奇怪的事情是MongoDB为我提供了一个URL来连接到我的应用程序。URL以mongodb+srv://
开头,但当我尝试建立连接时,我的控制台会记录错误
“throw new Error('Invalid mongodb uri“' + str + '".必须以“mongodb://”'开始);“
1条答案
按热度按时间8ljdwjyq1#
检查package.json文件中mongoose的版本。
字符串
在最新的mongoose中(目前我使用的是7.3.2),使用这个useNewUrlParser:truenot this**useMongoClient:这是我的工作。