MongoDB数据库在Ubuntu
虚拟机(VM)上运行。
express
服务器应用程序在我的主机(Windows 10)上提供目录。
此目录与VM共享。
我正在尝试在本地启动express
应用程序,但没有成功。
在VM端,通过mongo shell连接到数据库正常。
在主机方面,我只是使用npm start来启动该应用程序。
我需要做其他事情以便我的机器主机/应用程序可以与VM中的数据库通信吗?
我已经尝试过:
我收到此错误:
谢谢您的帮助
似乎您要在这里混合两件事:
根据您的解释,看来您的设置看起来像这样:
+-------------------------+ +------------------------+
| | | |
| Windows 10 host machine | -- Shared folder -| Virtual machine |
| | application | MongoDB running |
| | | |
+-------------------------+ +------------------------+
在主机上运行npm run main
时,应用程序需要使用虚拟机网络地址连接到远程数据库。与虚拟机共享文件夹没有到达数据库的报告。
在本地计算机上运行npm run main
时,可以使用localhost
连接或虚拟机网络地址。
您的问题与npm
或mongodb
无关,但与您的虚拟机连接设置有关。
[如果应用程序在Windows 10上运行,设置虚拟机网络并连接到数据库的最简单方法是在VirtualBox的VM设置上设置Bridge adpater
。
然后,在Ubuntu计算机的主网络接口上设置dhcp
将为您提供地址。
编辑/etc/networking/interfaces
然后使用service networking restart
]重新启动网络>
# The loopback network interface auto lo iface lo inet loopback # The primary network interface auto enp0s3 iface enp0s3 inet dhcp
使用提供的
enp0s3
inet地址连接到VM的数据库。要获得所提供的地址,请在外壳上使用ip addr
。