MongooseError:操作`doctors.find()`缓冲在10000ms后超时

jm81lzqq  于 2023-10-19  发布在  Go
关注(0)|答案(1)|浏览(167)

enter image description here在我的mern项目中得到这个错误。有时代码最初工作,但有时会显示此错误。我试了很多方法但是好像都不管用。但是Mongo数据库连接正常,但是需要一些时间,比如(10- 15秒)。
server.js

import mongoose from 'mongoose';
const connectDB = async () => {
    try {
        const conn = await mongoose.connect(process.env.MONGO_URI);
        console.log(`MongoDB Connected: ${conn.connection.host}`);
    } catch (error) {
        console.error(`Error: ${error.message}`);
        process.exit(1);
    }
};

export default connectDB;
euoag5mw

euoag5mw1#

如果没有看到更多的代码,我不能确定,但从你的错误堆栈来看,你似乎没有等待MongoDB连接建立就开始了你的应用程序(即等待promise从异步调用中解析);
导入您的server.js,如下所示:

import connectDB from "./server.js";

然后,当你调用connectDB时,在then块中设置好后启动你的应用:

connectDB().then(() => {
    const port = 5000;
    app.listen(port, () => {
        console.log(`Server Running on port ${port}`);
    });
}).catch(error => {
   // do something with error
   console.log(error);
});

await connectDB();
const port = 5000;
app.listen(port, () => {
    console.log(`Server Running on port ${port}`);
});

相关问题