我正在开发一个项目,我使用 Mongo docker 容器在本地存储我的项目数据。我的 Express 服务器中有一个 docker compose 文件,其中包含以下几行:
version: '3'
services:
mongodb:
image: mongo
container_name: mongodb
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
volumes:
mongodb_data:
运行 docker-compose up 我成功启动了 mongo 容器。我的 connectDB 文件是这样的:
const mongoose = require('mongoose')
const connectDB = async () => {
try {
await mongoose.connect(process.env.MONGO_URI_LOCAL);
console.log(`MongoDB connected`);
} catch (error) {
console.log("database connection error : ", error);
}
}
module.exports = connectDB;
MONGO_URI_LOCAL=mongodb://admin:密码@localhost:27017
如果我这样做,那么每当我做任何与数据库相关的事情时,我的所有数据都会存储在我不想要的数据库名称“test”中,相反,我希望数据存储在特定的数据库名称“Besocial”中”.
到目前为止我已经尝试过以下方法:
version: '3'
services:
mongodb:
image: mongo
container_name: mongodb
ports:
- "27017:27017"
environment:
MONGO_INITDB_ROOT_USERNAME: admin
MONGO_INITDB_ROOT_PASSWORD: password
MONGO_INITDB_DATABASE: BeSocial
MONGO_INITDB_CONNECTION_URL: mongodb://admin:password@localhost:27017/BeSocial
volumes:
mongodb_data:
我期待有人告诉我如何指定数据库名称?如果需要,我愿意分享更多信息。 预先感谢。
尝试将
?authSource=admin
添加到连接网址的末尾。