连接 MongoDB Compass (Windows) 和 MongoDB Server (WSL2)

问题描述 投票:0回答:0

我希望能够将本地安装的 MongoDB Compass 应用程序(安装在 Windows 10 上)连接到安装在 WSL2 中的 MongoDB 服务器(MongoDB 没有本地 Windows 安装)。但是,由于操作系统和 WSL2 对 localhost

的看法不同,它们可能无法连接
  • Linux 发行版:Ubuntu 18.04
  • 使用 MongoDB:6.0.5
  • 使用 Mongosh:1.8.2

目前能够:

  • 在WSL2中使用
    sudo service mongodb start
    等MongoDB服务命令
  • 进入 mongosh 并创建一个名为“myNewDB”的数据库,其中包含新集合“myNewCollection”

这是我在WSL2中输入

mongosh
时输出的连接字符串: mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.8.2

打开 MongoDB Compass 时,URI 默认为

mongodb://localhost:27017
。连接后,它不会显示与 WSL2 相同的数据库,只有 3 个默认的 adminconfig 和 *local * 数据库,我确定它们无论如何都是不同的(没有出现“myNewDB”在 WSL2 中创建的数据库)。所以很明显这些不是相同的服务器,尽管它们都显示为 localhost

我试过的:

  • 我按照 #69494737#63452108 中的说明使用
    wsl --shutdown
    重新启动 WSL2 并在 Windows 上禁用快速启动,但它没有解决问题。
  • 我做了
    cat /etc/resolv.conf
    来获取主机的 IP 地址(它与通常的 127.0.0.1 不同),然后通过 WSL2 连接到它
    mongosh mongodb://[IP_I_found]:27017
    但服务器选择超时。
  • 从 cmd 找到 WindowsHostIP ->
    ipconfig
    -> 获取 IPv4 地址 192.168.2.13 -> 在 WSL2 上键入
    mongosh mongodb://192.168.2.13:27017
    但超时。

编辑: 有点为我的特定用例找到了解决方法。归根结底,我只需要某种 GUI 来查看数据库。我使用 VScode 进行编辑。它有一个 MongoDB 扩展,我添加到 VSCode 的WSL2 实例(不是本地 VSCode)上,它连接到我安装在 WSL2 中的 MongoDB 服务器。通过扩展,我能够直接在 IDE 上直观地看到数据库。也就是说,原来使用 WSL2 Compass 连接到 Windows 本地 Compass 的问题仍然普遍存在。

mongodb localhost windows-subsystem-for-linux wsl-2 mongodb-compass
© www.soinside.com 2019 - 2024. All rights reserved.