window7拒绝连接MongoDB怎么办?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了window7拒绝连接MongoDB怎么办?相关的知识,希望对你有一定的参考价值。
如果 Windows 7 拒绝连接 MongoDB,则可能是因为 MongoDB 服务未正确安装或配置。以下是一些解决方法:1. 首先,请确定 MongoDB 服务是否已经正确安装并正在运行。可以在服务管理器中搜索“MongoDB服务”,查看它是否正常启动并正在运行。
2. 根据 MongoDB 的配置文件和网络设置,检查网络端口是否未被防火墙以及其他安全保护程序拦截。
3.在 MongoDB 中,确保已配置权限和证书,以避免有任何权限问题。可以使用 MongoDB 自带的权限管理工具,创建相应的权限角色和证书,以确保安全性。
4.确认使用的 MongoDB 版本是否与系统架构兼容,并使用正常的连接字符串和驱动程序来连接 MongoDB。可以参考官方 MongoDB 文档,查看相应的驱动程序信息和配置要求。
5.如果无法自行解决,可以寻求专业的技术支持,以诊断问题并解决连接 MongoDB 的问题。
请注意,在任何更改配置之前都要提取数据管理备份,以便在解决问题后恢复数据库的状态。 参考技术A Windows 7 拒绝连接 MongoDB 的问题可能是由于以下几个原因导致的:
1. MongoDB 服务未启动:首先需要确保 MongoDB 服务已经启动。可以在 Windows 的服务列表中查找 MongoDB 服务,并确保状态为“正在运行”。
2. 防火墙问题:Windows 7 的防火墙可能阻止了 MongoDB 的连接。可以将 MongoDB 添加到白名单中,或者在防火墙中添加 MongoDB 的端口。
3. MongoDB 配置问题:在 MongoDB 配置文件中,需要指定允许外部访问的 IP 地址。可以检查 configuration 文件查看相应配置是否正确。 参考技术B 如果服务未启动,请启动它。</p>
</li>
<li>
<p>防火墙阻止连接:请检查您的防火墙设置,确保允许MongoDB的端口通过防火墙。默认情况下,MongoDB使用27017端口。</p>
</li>
<li>
<p>数据库访问权限:请确保您有访问MongoDB数据库的权限。您可以在MongoDB配置文件中设置访问权限。</p>
</li>
<li>
<p>MongoDB版本不兼容:请确保您使用的MongoDB版本与您的Windows 7系统兼容。如果不兼容,请升级MongoDB版本。</p>
</li>
</ol>
<p>如果您已经尝试了以上方法仍然无法解决问题,请尝试重新安装MongoDB并按照官方文档进行配置。</p>
与 MongoDB 的连接被拒绝
【中文标题】与 MongoDB 的连接被拒绝【英文标题】:Connection to Mongodb rejected 【发布时间】:2020-06-21 12:05:51 【问题描述】:我是 React 和 Node 的新手,尽管几天后我的代码没有错误,但今天我的终端开始出现错误,我无法连接到我的 mongo 数据库。我使用 node server.js 命令运行我的服务器,但出现错误。任何人都可以帮助找到解决方案吗?谢谢!
错误
服务器正在端口 5000 上运行 (node:3339) DeprecationWarning:当前的服务器发现和监控引擎已被弃用,并将在未来的版本中删除。要使用新的服务器发现和监控引擎,请将选项 useUnifiedTopology: true 传递给 MongoClient 构造函数。 (node:3339) UnhandledPromiseRejectionWarning: MongoNetworkError: failed to connect to server [cluster0-shard-00-00-z8g0w.mongodb.net:27017] on first connect [MongoNetworkError: connection 4 to cluster0-shard-00-00-z8g0w。 mongodb.net:27017 关闭 在 TLSSocket。 (/Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connection.js:372:9) 在 Object.onceWrapper (events.js:300:26) 在 TLSSocket.emit (events.js:210:5) 在 net.js:659:12 在 TCP.done (_tls_wrap.js:481:7) 名称:'MongoNetworkError', ] 在游泳池。 (/Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/topologies/server.js:433:11) 在 Pool.emit (events.js:210:5) 在 /Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/pool.js:577:14 在 /Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/pool.js:1021:9 在回调(/Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connect.js:93:5) 在 /Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connect.js:113:7 在 _callback (/Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connect.js:320:5) 在 Connection.errorHandler (/Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connect.js:336:5) 在 Object.onceWrapper (events.js:300:26) 在 Connection.emit (events.js:210:5) 在 TLSSocket。 (/Users/petka/Desktop/react-recipesnew/node_modules/mongodb/lib/core/connection/connection.js:370:12) 在 Object.onceWrapper (events.js:300:26) 在 TLSSocket.emit (events.js:210:5) 在 net.js:659:12 在 TCP.done (_tls_wrap.js:481:7) (节点:3339)UnhandledPromiseRejectionWarning:未处理的承诺拒绝。此错误源于在没有 catch 块的情况下抛出异步函数内部,或拒绝未使用 .catch() 处理的承诺。 (拒绝编号:1) (节点:3339)[DEP0018] DeprecationWarning:不推荐使用未处理的承诺拒绝。将来,未处理的 Promise 拒绝将使用非零退出代码终止 Node.js 进程。
server.js
const express = require("express");
const cors = require("cors");
const mongoose = require("mongoose");
const http = require('http');
const socketIO = require('socket.io');
const app = express();
const port = process.env.PORT || 5000;
app.use(cors());
app.use(express.json());
const server = http.createServer(app)
//create the socket using the service instance
const io = socketIO(server)
io.on('connection', socket =>
console.log('New user connected.')
socket.on('infoEvent', (information) =>
console.log(`Information received: $information`)
io.sockets.emit('infoEvent', information)
)
socket.on('disconnect', () =>
console.log('User disconnected')
)
)
require('dotenv').config();
const uri = process.env.ATLAS_URI;
mongoose.connect(uri, useNewUrlParser:true, useCreateIndex:true);
const connection = mongoose.connection;
//when the connection is open
connection.once('open', () =>
console.log("MongoDB connection established successfully")
)
const userrecipesRouter = require('./routes/userrecipes');
const usersRouter = require('./routes/users');
//require and use the files route
app.use('/userrecipes', userrecipesRouter);
app.use('/users', usersRouter);
app.listen(port, () =>
console.log(`Server is running on port $port`);
);
【问题讨论】:
您的数据库托管在哪里?它还在运行/健康吗? 【参考方案1】:尝试像这样连接:
mongoose.connect(
uri,
useNewUrlParser:true,
useCreateIndex:true,
useUnifiedTopology: true //add this option
);
【讨论】:
这到底是做什么的?以上是关于window7拒绝连接MongoDB怎么办?的主要内容,如果未能解决你的问题,请参考以下文章