【发布时间】:2019-09-04 15:37:17
【问题描述】:
我有一个 node/express 应用程序,我正在尝试使用 mongoose 连接到 Mongodb Atlas。
我的所有代码都与我之前连接到 Atlas 的应用程序相同(运行良好)。当我在我的工作机器(Windows 10)上运行它时,一切都按预期工作。但是,当我在 MacBook Pro (Mojave) 上运行它时,express 应用程序会运行,但与 Atlas 的 mongoose 连接会引发以下错误:
{ Error: queryTxt EBADNAME development-zv5hp.mongodb.net
at QueryReqWrap.onresolve [as oncomplete] (dns.js:196:19)
errno: 'EBADNAME',
code: 'EBADNAME',
syscall: 'queryTxt',
hostname: 'development-zv5hp.mongodb.net' }
server.js
const express = require('express');
const mongoose = require('mongoose');
const app = express();
mongoose
.connect(
'mongodb+srv://client:<PASSWORD>@development-zv5hp.mongodb.net/shop',
{ useNewUrlParser: true }
)
.then(() => console.log('MongoDB Connected...'))
.catch(err => console.log(err));
const PORT = process.env.PORT || 5000;
app.listen(PORT, () => console.log(`Server running on port ${PORT}`));
什么可能导致此问题? 我检查了 Atlas 用户和密码,并将我的 IP 列入白名单(实际上将所有 IP 列入白名单)
使用:
- 节点 v10.15.3
- express v4.16.4
- 猫鼬 v5.5.1
【问题讨论】:
标签: node.js mongodb express mongoose mongodb-atlas