提问者:小点点

MongooseServerSelectionError:Mac M1中NativeConnection. Conntion.openUri的连接超时


获取MongooseServerSelectionError:带有M1芯片的Macbook中NativeConntion. Conntion.openUri错误的连接超时。

在终端中,我按照以下步骤安装Mongo:

  1. brew点击mongoDB/brew
  2. brew installmongodb-community@5.0来安装MongoDB。
  3. 启动Mongosudomongod--dbpath /usr/local/var/mongodb/

现在,在项目中使用Mongoose时,URI:mongodb://localhost:27017/db_name得到上述错误。

编辑:添加完整错误:


共2个答案

匿名用户

最后一次编辑(https://stackoverflow.com/revisions/70068861/5)是一团糟,而不是“完全错误”。

有两根半原木。

第一部分是缺少开头的日志的一半。它说:

"ctx":"initand听","msg":"MongoDB启动","attr":{"pid": 38271,"port":27017,"dbPath":"/data/db","体系结构":"64位","host":"Archits-

其次是

"msg":"设置侦听器时出错","attr":{"error":{"code": 9001,"codeName":"SocketException","errmsg":"地址已在使用中"}}}

这意味着:

  • 您没有将其作为sudo启动mongod--dbpath /usr/local/var/mongodb/
  • 27017还有别的东西在监听,很可能mongod你之前开始监听的。

2个其他日志从archit@Archits-MacBook-Pro~%mongod开始,后跟"port": 27017,"dbPath":"/data/db","架构":"64位","host":"Archits-相同,拼写相同的错误:

:{"error":"NonExistentPath:找不到数据目录 /data/db。使用(1)--dbpath命令行选项或(2)通过在配置文件中添加'store. dbPath'选项创建丢失的目录或指定另一个路径。"}}

这意味着/data/db不存在或需要提升权限才能访问。

考虑到这种困难,您可能会发现使用预配置的docker映像更简单https://hub.docker.com/_/mongo.

匿名用户

正如在Mac上安装的官方MongoDB手册中提到的,

尝试以下操作:

brew services start mongodb-community@5.0

如果您仍然无法连接到MongoDB(可能是因为有些服务已经在使用端口27017),请在重新启动机器后尝试上述命令。