我在macOS Big Sur上使用brew mongodb社区,可以使用mongosh连接到mongo shell。但当我尝试运行NodeJS和Mongoose应用程序时,我得到了MongooseServerSelectionError: connect ECONNREFUSED ::1:27017
。为什么我可以用mongoshell连接mongodb,而不能用NodeJS和Mongoose?
编辑:来自我的NodeJS Mongoose代码的示例代码
import mongoose from 'mongoose';
mongoose.connect('mongodb://localhost:27017/mydb', {
useNewUrlParser: true,
useUnifiedTopology: true
});
我的解决方案是使用127.0.0.1
而不是localhost
。出于某种原因,Mongoose可以读取mongodb://127.0.0.1:27017/mydb
和NOTmongodb://localhost:27017/mydb
您的MongoDB服务器没有启动,请尝试启动brew服务mongodb-community@6.0.
如果没有启动,请按照以下命令操作。
步骤1:从下载brew 安装brew
">最后,brew显示在您的终端中添加路径";(许多人忘记添加(
作为参考,以下命令将出现在您的终端中:===>下一步:
- 在终端中运行以下三个命令,将Homebrew添加到PATH中:
echo'#Set PATH,MANPATH等,for Homebrew。'>gt/用户/xxxx/.zprofile
echo"eval"$(/opt/homebrew/bin/brew-shellenv(">gt/用户/xxxxxx/.zprofile
eval"$(/opt/homebrew/bin/brew-shellenv(";
Step-2:安装MongoDB:
brew安装mongodb-community@6.0
步骤3:启动MongoDB服务器:
brew服务启动mongodb-community@6.0
请参考MongoDB