我在macOS Big Sur上使用brew mongodb-community,可以通过mongosh连接到mongo shell,但当我尝试运行NodeJS和Mongoose应用时,我得到MongooseServerSelectionError: connect ECONNREFUSED ::1:27017
。为什么我可以通过mongo shell连接到mongodb,但不能通过NodeJS和Mongoose连接?
编辑:我的NodeJS Mongoose代码中的示例代码
import mongoose from 'mongoose';
mongoose.connect('mongodb://localhost:27017/mydb', {
useNewUrlParser: true,
useUnifiedTopology: true
});
2条答案
按热度按时间r8uurelv1#
我的解决方案是使用
127.0.0.1
而不是localhost
。由于某种原因,Mongoose可以读取mongodb://127.0.0.1:27017/mydb
而不是mongodb://localhost:27017/mydb
dtcbnfnu2#
您的MongoDB服务器没有启动,请尝试brew服务,启动mongodb-community@6.0。
如果未启动,请遵循以下命令。
步骤1:从download brew安装brew
“最后brew显示要在终端中添加路径"(许多人忘记添加)
以下命令将出现在您的终端中,以供参考:==〉后续步骤:
echo '#为自制程序设置路径、MANPATH等。'〉〉/Users/xxxx/.zprofile
echo 'eval“$(/opt/homebrew/bin/brew shell 程序)"'〉〉/用户/xxxxx/. z配置文件
评估“$(/opt/自制程序/bin/brew shell 环境)”
第2步:安装MongoDB:
brew安装mongodb-社区@6.0
第3步:启动MongoDB服务器:
brew服务启动mongodb-community@6.0
请参考MongoDB