提问人:Ronak Shah 提问时间:11/12/2023 最后编辑:David MazeRonak Shah 更新时间:11/12/2023 访问量:33
“MongooseError:openUri() 的 uri 参数必须是字符串。当“未定义”时如何解决?- Node.js,MongoDB,Mongoose”
"MongooseError: The uri parameter to openUri() must be a string. How to resolve when 'undefined'? - Node.js, MongoDB, Mongoose"
问:
“当我尝试在我的 Nest.js 应用程序中连接到 MongoDB 时,我遇到了 Mongoose 问题。我面临的错误是:
MongooseError:参数必须是字符串,得到“undefined”。
有人可以帮助我了解可能导致此错误的原因并建议解决该错误的步骤吗?uri
openUri()
命令:
docker run projectName
Docker文件:
FROM node:latest
# Create work directory
WORKDIR /usr/src/app
COPY package*.json ./
# Copy app source to work directory
COPY . /usr/src/app
# Install app dependencies
RUN npm install
# Build
RUN npm run build
EXPOSE 3000
CMD [ "npm", "run","start:dev" ]
docker-compose 文件
version: '3.7'
services:
app:
container_name: app
restart: always
build: .
ports:
- "3000:3000"
links:
- mongo
mongo:
container_name: mongo
image: mongo
volumes:
- ./data:/data/db
ports:
- "27017:27017"
我尝试了以下方法:
- 检查并确认在我的 Node.js 应用程序中正确定义了 MongoDB URI。
- 已验证Node.js和Mongoose版本以确保兼容性。
- 已检查 Dockerfile 以确保它包含必要的依赖项。
- 检查了 Docker run 命令,了解在传递环境变量或挂载卷时存在任何潜在问题。
尽管做出了这些努力,我仍然遇到 MongooseError:uriparameter toopenUri() 必须是一个字符串,在 Docker 运行期间出现“未定义”错误。我的期望是,当应用程序在 Docker 容器中运行时,它应该成功连接到 MongoDB,就像它在 Docker 之外一样。
任何关于我可以采取的其他步骤的指导或对可能导致此问题的原因的见解将不胜感激。谢谢!
答: 暂无答案
评论