mongodb://localhost:27017 连接说明与本地安装
看到 mongodb://localhost:27017 时如何连接?本文说明 URI 写法、mongosh/Compass 示例、Docker 启动与 ECONNREFUSED 等常见报错。
搜索或日志里出现 mongodb://localhost:27017、mongodb localhost 27017 时,表示应用要连本机 MongoDB(默认端口 27017)。这是客户端连接串,不是浏览器网页地址——在 Chrome 打开通常打不开页面。
连接串速查
| 用途 | URI |
|---|---|
| 默认(无认证) | mongodb://localhost:27017 |
| 指定数据库 | mongodb://localhost:27017/mydb |
| 用 IP | mongodb://127.0.0.1:27017/mydb |
| 带用户密码 | mongodb://user:pass@localhost:27017/mydb?authSource=admin |
| 尾斜杠写法 | mongodb://localhost:27017/(等价默认库) |
环境变量常见键名:MONGODB_URI、MONGO_URL、DATABASE_URL。
端口说明见 localhost 端口速查 §27017。
用客户端验证
mongosh(命令行)
mongosh "mongodb://localhost:27017"
# 或
mongosh
use mydb
db.users.insertOne({ name: "Alice" })
db.users.find()MongoDB Compass(图形界面)
- 打开 Compass
- 连接串填入:
mongodb://localhost:27017 - Connect → 浏览库与集合
其它 GUI:TablePlus、Studio 3T。
在代码里
// mongoose / Node
await mongoose.connect('mongodb://localhost:27017/myapp');| 框架 | 说明 |
|---|---|
| NestJS | @nestjs/mongoose,URI 指向 localhost:27017 |
| Express | mongoose.connect(...) |
| Next.js | .env 中 MONGODB_URI=mongodb://localhost:27017/myapp |
安装与启动
macOS:
brew tap mongodb/brew
brew install mongodb-community
brew services start mongodb-communityDocker(最快):
docker run -d --name mongo -p 27017:27017 mongo:7Ubuntu:按 官方 Linux 安装文档 添加源后安装。
常见报错
ECONNREFUSED 127.0.0.1:27017 / 连不上
- MongoDB 进程未启动(
brew services start或 Docker) - 端口被占用或映射错误:
lsof -i :27017 - URI 写成了
localhost:27017却忘了mongodb://前缀(部分驱动要求完整 scheme)
认证失败
本地开发常无密码;若启用了 auth,URI 需带用户并加 authSource。
Docker 能起、应用连不上
确认 -p 27017:27017;容器内主机名不是 localhost(容器互连用服务名)。
端口冲突详见 port-conflicts。同类缓存库见 Redis。
小结
mongodb://localhost:27017 = 本机默认 MongoDB。先用 mongosh 或 Compass 验证,再把同一 URI 写进应用配置。