在Windows 10上,mongod和mongo命令无法正常工作。

20

我已经在我的Windows 10操作系统上安装了mongoDB。然后,我尝试将它的数据库路径设置为某个目录,方法是移动到该目录并在cmd中输入mongod --datapath=data,其中data是包含数据库的文件夹(我使用相对路径,因为我在那个目录中)。但是会提示“mongod”不是识别的命令。经过一番搜索,我发现通过指定mongod路径,即"C:\Program Files\MongoDB\Server\3.4\bin\mongod.exe" --datapath=data可以正常工作。对于mongo也有类似的情况。

我想直接运行mongodmongo命令,我看到其他人直接使用它(无需进入目录或指定路径)。

8个回答

53

对于Windows安装,默认情况下,您必须使用exe的完整路径才能运行它,除非将其添加到PATH中。

要将其添加到PATH中:

01) 获取bin的路径,类似于:C:\Program Files\MongoDB\Server\4.0\bin
02) 按下Windows键,输入env,选择编辑系统环境变量
03)高级选项卡上,单击环境变量
04)xxxx的用户变量部分中,选择path,然后单击编辑...按钮
05) 单击新建并粘贴具有尾随斜杠的路径,例如:
C:\Program Files\MongoDB\Server\4.0\bin\
06) 单击确定确定确定并重新启动命令窗口。
来源

您所看到的示例可能基于UNIX安装,我认为默认情况下安装mongo作为服务(Windows不是这样),这就是这些示例中所调用的内容。

为了简化在Windows上的启动和配置,您还可以将其安装为服务。请参见Mongo文档此处 和 "Configure Windows Service for MongoDB' 部分。

然后,您只需调用以下内容即可启动和停止Mongo:

net start MongoDB
net stop MongoDB

7
如果安装的MongoDB版本为6.0或更高版本,则mongo命令将无法在Powershell/cmd上运行。如果运行该命令,您将收到以下错误信息: “'mongo' is not recognized as an internal or external command, operable program or batch file.”
要运行mongo命令,您必须从这里安装MongoDB Shell。
安装完Shell后,解压缩zip文件,您可以将提取的文件夹(mongosh-1.6.0-win32-x64)重命名为"MongDB Shell"并将该文件夹移动到Windows(:C) > Program Files目录下。
现在打开该文件夹,进入bin目录,并复制路径:
C:\Program Files\MongoDB Shell\mongosh-1.6.0-win32-x64\bin (或 C:\Program Files\mongosh-1.6.0-win32-x64\mongosh-1.6.0-win32-x64\bin)
前往设置(Settings) > 系统(System)> 关于(About) > 高级系统设置(Advanced system settings)> 环境变量(Environment Variables)> 在系统变量(System Variables)下,点击“Path”,然后点击“编辑” > 点击“新建”,并粘贴上述已复制的路径 > 点击“确定”、“确定”、“确定”。
现在打开Powershell/cmd,运行命令“mongosh”。
您已准备好使用MongoDB了。

2023年,对我有效的唯一解决方案。 - undefined

2

将其添加到路径中:

将Mongo的bin文件夹添加到Path环境变量 请查看链接: 这里 在将bin文件夹添加到Path环境变量之后, 然后在终端中简单地输入mongo,它就会开始工作。


1

我也遇到了同样的问题。我通过提供给Windows X64位的.msi文件进行安装。在MongoDB的安装程序说明(https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)中,我看到可以将C:\Program Files\MongoDB\Server\4.2\bin添加到系统路径中。然后它要求省略完整路径到MongoDB二进制文件。这就是我认为缺少一些信息的地方。我们应该如何省略MongoDB二进制文件的完整路径?

目前,我可以使用以下命令运行mongod:

"C:\Program Files\MongoDB\Server\4.2\bin\mongod.exe" --dbpath="c:\data\db"

对于--dbpath="c:\data\db",您可以将"c:\data\db"替换为数据库的路径。

我也可以使用以下命令运行mongo:

"C:\Program Files\MongoDB\Server\4.2\bin\mongo.exe"


1

根据welshGaz的答案,我编辑了用户路径变量,但是它对我没有起作用。我无法访问系统路径变量。

从命令提示符上的错误中我注意到,它缺少“C:\ data \ db”目录来存储其文件(我还不知道这些文件是用来做什么的)。所以我自己创建了那个目录,然后它就可以工作了。


对我来说有效 - Mohammed

1

参考资料:微软文档

将您的路径设置为以下方式

;C:\Program Files\MongoDB\Server\4.0\bin

这对我有用。

1

请使用终端中的mongosh命令。6.0及以上版本不再支持mongo命令。

如果您正在尝试从连接URL连接,例如mongodb://localhost:27017/yourdb,请尝试将其更改为类似mongodb://127.0.0.1/yourdb的内容。


0

如果您在YAML文件中启用了任何属性并且格式不正确,那么另一个原因可能是这样。YAML寻找特定的语法,例如冒号“:”+空格“ ”。

E.g.-

security:
    authorization: enabled

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接