And*_*uso 5 javascript mongoose mongodb node.js
这是我第一次在这里写作,我的英语说得不好,所以如果我错了,请批评者以一种好的方式。
所以,问题是当我在启动node.js 后重新启动它时,我收到此错误,我必须等待 10/20 秒才能重新启动并获取数据库连接。
错误:
[nodemon] starting `node server.js`
Not Connected: { MongoParseError: Multiple text records not allowed
at QueryReqWrap.dns.resolveTxt [as callback] (/Users/guy/Desktop/Progetto PWM/progetto/node_modules/mongodb-core/lib/uri_parser.js:93:27)
at QueryReqWrap.onresolve [as oncomplete] (dns.js:198:10)
name: 'MongoParseError',
[Symbol(mongoErrorContextSymbol)]: {} }
Run Code Online (Sandbox Code Playgroud)
我正在关注一个视频教程,该教程解释了Nodejs与 MongoDB 连接的基础知识,这些是我的依赖项:
"body-parser": "^1.19.0",
"dotenv": "^8.0.0",
"express": "^4.17.1",
"mongoose": "^5.6.7",
"morgan": "^1.9.1"
Run Code Online (Sandbox Code Playgroud)
我的.env文件包含:
MONGO_URI= mongodb+srv://<name>:<password>@myproject-0aqq2.mongodb.net/test?retryWrites=true&w=majority
Run Code Online (Sandbox Code Playgroud)
括号内是我的数据。
编辑
这是我用来连接的代码
mongoose.connect(process.env.MONGO_URI, {useNewUrlParser: true})
.then(() => console.log("Connected"))
.catch(err => {
console.log("Not Connected: ", err);
});
Run Code Online (Sandbox Code Playgroud)
小智 3
此问题的解决方案是使用 文档中指定的分片集群的标准连接字符串格式:
mongodb://<user>:<password>@mongos0.example.com:27017,mongos1.example.com:27017,mongos2.example.com:27017/admin
Run Code Online (Sandbox Code Playgroud)
@mongos0.example.com:27017将替换为主要主机名,后面是 2 个辅助主机。您可以在 Altas Web 界面的集群概览中获取 3 台主机的地址和端口。请务必将 /admin 替换为您要连接的数据库的名称。
这是推荐与 mongoose 一起使用的字符串连接格式 (3.4) - 我与 mongo 支持人员检查了这一点,他们非常有帮助!
| 归档时间: |
|
| 查看次数: |
994 次 |
| 最近记录: |