嗨,我正在尝试开发简单的api,但无法在api和mongodb之间建立连接。当我向数据库发送查询时,它挂起并且无法得到响应。我正在尝试使用以下代码连接到mongo容器:
mongoose.connect("mongodb://mongo/micro-linkedin_api_1");
这是我的docker-compose文件:
version: "3"
services:
api:
restart: always
build: ./api
ports:
- "3000:3000"
links:
- mongodb
env_file:
- ./api/.env
volumes:
- ./api:/usr/xd/job-bot/api
mongodb:
image: mongo
ports:
- "27017:27017"
scraper:
build: ./scraper
我的文件夹结构是这样的:
答案 0 :(得分:1)
正如我在docker-compose中看到的那样,您定义了2个服务:
api
和mongodb
在猫鼬文档中,这是您的连接方式:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
您做到了:
mongoose.connect("mongodb://mongo/micro-linkedin_api_1");
因此host
不正确,您使用了mongo
而不是docker-compose服务中定义的mongodb
。