Reactjs WSL2无法连接到MongoDB

Reactjs WSL2无法连接到MongoDB,reactjs,mongodb,windows-subsystem-for-linux,wsl-2,Reactjs,Mongodb,Windows Subsystem For Linux,Wsl 2,不久前,我正在本地使用WSL 1开发一个web应用程序。它在本地与MongoDB完美配合,但升级到WSL2后,我根本无法连接。我仍然可以运行react应用程序 以下是一些细节: 版本:Microsoft Windows[版本10.0.19041.172] WSL2:Ubuntu 如何从WSL2从windows端调用MongoDB?默认情况下,MongoDB监听127.0.0.1。 您可能需要编辑/etc/mongodb.conf,使mongodb在0.0.0.0上侦听,以便我们可以从window

不久前,我正在本地使用WSL 1开发一个web应用程序。它在本地与MongoDB完美配合,但升级到WSL2后,我根本无法连接。我仍然可以运行react应用程序

以下是一些细节: 版本:Microsoft Windows[版本10.0.19041.172] WSL2:Ubuntu


如何从WSL2从windows端调用MongoDB?

默认情况下,MongoDB监听127.0.0.1。
您可能需要编辑/etc/mongodb.conf,使mongodb在0.0.0.0上侦听,以便我们可以从windows访问mongodb

或者您可以使用此服务将WSL2 ip地址解析为主机名,如ubuntu.wsl,然后使用该主机名而不是localhost

mongod.exe--bind_ip=0.0.0.0
或者使用WSL IP

mongod.exe--bind_ip=192.*.*.1

如果您遇到身份验证错误


转到任务管理器,停止所有mongodb进程并重新启动。我不需要更改任何ip或端口。

使用docker。解决问题的最简单方法。

除了操作系统,您还需要提供更多详细信息。您确定MongoDB仍在安装吗?你能进入
mongo
repl吗?是的,我确信它已安装。正如我所说,web应用程序在升级到WSL2之前工作得非常好。我指的是升级,以及您无法连接到它的事实。所以,您确定它已安装,但无法访问它,对吗?甚至从repl那里都没有?我现在不是说你的web应用,我是说你能在WSL2中从命令行运行MongoShell吗。当您在终端中键入
mongo
时,是否会得到连接信息,然后出现类似
test
的提示?您确定
mongod
正在WSL2中运行吗?您可能需要通过运行
sudo mongod
来启动进程。我没有在WSL上运行mongo。我已经安装了机器人3T,所以我很确定它已经安装好了。我可以运行mongo和mongodOK,您可以发布react应用程序中的相关连接代码,以及您在连接MongoDB的任何地方遇到的任何错误吗?我使用Ubuntu,只需在终端窗口中启动
mongod
,然后通过我的应用程序连接,或者通过
mongo
repl连接,但我认为逻辑是类似的,我只需要先看看你有什么连接。