我是新来的编码。我知道这可能是一个愚蠢的问题,每个人,但它仍然很困惑我。
我试图在办公室连接MongoDB,但它在家里完全可以工作。
下面是我的代码:
const express = require('express');
const mongoose = require('mongoose');
const app = express();
const dburl = 'mongodb+srv://admin:12345@cluster0.954cidx.mongodb.net/testing?retryWrites=true&w=majority'
mongoose.connect(dburl, {
useNewUrlParser: true,
useUnifiedTopology: true
})
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(err);
});
app.listen(3000, () => {
console.log('listening to port 3000');
});
我得到了这个错误消息:
Node.js v20.2.0
[nodemon] app crashed - waiting for file changes before starting...
[nodemon] restarting due to changes...
[nodemon] starting `node app.js`
listening to port 3000
Error: querySrv ENOTFOUND _mongodb._tcp.cluster0.954cidx.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] (node:internal/dns/promises:251:17) {
errno: undefined,
code: 'ENOTFOUND',
syscall: 'querySrv',
hostname: '_mongodb._tcp.cluster0.954cidx.mongodb.net'
}
说实话我一个字都听不懂谁能帮我弄清楚发生了什么事?
2条答案
按热度按时间5jvtdoz21#
访问mongodb.com
1.照常登录
1.转到左侧面板上的“Network Access(网络访问)”。
1.单击“添加IP地址并添加办公室Internet的访问权限”。
或者,您可以通过www.example.com从任何地方启用任何访问 0.0.0.0/0 * 不推荐 *
hs1ihplo2#
我想是网络问题。
验证数据库主机地址:确保在代码中正确提供了MongoDB数据库的主机地址。检查是否输入了正确的主机地址以及是否包含了正确的前缀(例如mongodb://)。
另外,请尝试检查您是否在数据库中具有必要的权限。