首先,尝试在终端中启动mongodb
错误通常都是默认的数据库目录不存在,输出信息中有一行:
[initandlisten] exception in initAndListen: NonExistentPath: Data directory /data/db not found., terminating
这个目录通常是启动mongod时指定一个存在的目录,例如:
mongod --dbpath [自己指定的目录路径]
好,现在在终端启动mongodb没问题了。
但在unity的ETModel.ServerCommandLineEditor窗口还是无法启动数据库
Win32Exception: ApplicationName='mongod', CommandLine='--dbpath=db', CurrentDirectory='../Database/bin/', Native error= Cannot find the specified file
执行的代码是ServerCommandLineEditor.cs中的:
if (GUILayout.Button("启动数据库"))
{
ProcessHelper.Run("mongod", @"--dbpath=db", "../Database/bin/");
}
- 可能 .bash_profile 文件有mongod的路径,但通过代码运行是会忽略这个文件的内容的。你需要指定monggod的路径
- 这里用了参数“–dbpath=db”,看看这个db路径是否存在
- 这里指定了工作目录“…/Database/bin/”,这个工作目录是不存在的,指定工作目录为…/Bin/

本文详细解析了在Unity的ETModel框架中遇到的MongoDB数据库启动失败问题,包括默认数据库目录缺失的错误信息及解决方案。通过在终端正确指定数据库路径,并修改ETModel.ServerCommandLineEditor代码中的路径配置,最终成功启动MongoDB。
1105

被折叠的 条评论
为什么被折叠?



