无法连接到我的 MongoDB 数据库,在 Mongodb Compass 上收到此错误“Server Selection Timed Out After 3000ms”
Posted
技术标签:
【中文标题】无法连接到我的 MongoDB 数据库,在 Mongodb Compass 上收到此错误“Server Selection Timed Out After 3000ms”【英文标题】:Can't connect to my MongoDB DataBase, getting this error "Server Selection Timed Out After 3000ms" on Mongodb Compass 【发布时间】:2020-07-15 10:29:16 【问题描述】:这是我在终端上显示的错误。
message: 'connect ECONNREFUSED 127.0.0.1:27017',
name: 'MongooseServerSelectionError',
reason: TopologyDescription
type: 'Single',
setName: null,
maxSetVersion: null,
maxElectionId: null,
servers: Map 'localhost:27017' => [ServerDescription] ,
stale: false,
compatible: true,
compatibilityError: null,
logicalSessionTimeoutMinutes: null,
heartbeatFrequencyMS: 10000,
localThresholdMS: 15,
commonWireVersion: null
,
[Symbol(mongoErrorContextSymbol)]:
我的连接数据库的代码如下:-
const mongoose = require("mongoose");
mongoose
.connect("mongodb://localhost:27017/playground",
useNewUrlParser: true,
useUnifiedTopology: true
)
.then(() =>
console.log("database connected");
)
.catch(err =>
console.log("Could not connect", err);
);
在我关闭笔记本电脑之前一切正常。我不知道为什么 Mongodb 罗盘向我显示此错误“服务器选择在 30000 毫秒后超时”,我在本地主机上工作,只有
【问题讨论】:
试试这个作为你的 URI - "mongodb://localhost/playground" 另外让我知道错误信息:mongoose.Promise = global.Promise; mongoose.connection.on("error", error => console.error(→ $error.message
); // 告诉你连接mongodb是否成功);
@Leafyshark 我尝试将“mongodb://localhost/playground”作为我的网址并收到此错误“ECONNREFUSED 127.0.0.1:27017”。
【参考方案1】:
您说“...在您关闭计算机之前一切正常...”,很可能mongod 进程在关闭时退出。您能否尝试重新启动mongod
进程并再次连接,有关如何启动该进程的详细信息在这里For Windows 和For Mac。
为避免在您重新启动或关闭系统时再次出现此类问题,请考虑将 mongod 进程作为服务启动,具体操作方式取决于您使用的操作系统,但是,您可以找到完整的说明集在安装页面。例如,如果您使用的是 Mac,则说明为 here。
【讨论】:
【参考方案2】:我在终端中运行了 mongo 和 mongod,但它不起作用。
windows的解决方案,但应该和mac类似
在windows上打开任务管理器|| Ctrl + shift + ESC > 选择服务选项卡 > 搜索 mongo db > 右键单击 > 启动服务
【讨论】:
【参考方案3】:扩展@Maduekew的回答,在Windows上,点击服务只过滤掉服务,然后搜索MongoDB,如果状态栏显示Stopped
,右击然后选择Start
。
【讨论】:
以上是关于无法连接到我的 MongoDB 数据库,在 Mongodb Compass 上收到此错误“Server Selection Timed Out After 3000ms”的主要内容,如果未能解决你的问题,请参考以下文章
Kubernetes node.js 容器无法连接到 MongoDB Atlas
无法连接到我的 MongoDB 数据库,在 Mongodb Compass 上收到此错误“Server Selection Timed Out After 3000ms”