MongooseError:操作 `users.insertOne()` 缓冲在超时 10000 毫秒后超时。<anonymous>

问题描述 投票:0回答:1

它在终端中给出这样的错误

MongooseError: The uri parameter to openUri() must be a string, got "undefined". Make sure the first parameter to mongoose.connect() or mongoose.createConnection() is a string.
    at NativeConnection.createClient (F:\Coding\Mern Luminar\MEARN\mern-blog\node_modules\mongoose\lib\drivers\node-mongodb-native\connection.js:206:11)
    at NativeConnection.openUri (F:\Coding\Mern Luminar\MEARN\mern-blog\node_modules\mongoose\lib\connection.js:801:34)
    at Mongoose.connect (F:\Coding\Mern Luminar\MEARN\mern-blog\node_modules\mongoose\lib\mongoose.js:404:15)
    at file:///F:/Coding/Mern%20Luminar/MEARN/mern-blog/api/index.js:10:4
    at ModuleJob.run (node:internal/modules/esm/module_job:194:25)
Server is running on port 3000!
F:\Coding\Mern Luminar\MEARN\mern-blog\node_modules\mongoose\lib\drivers\node-mongodb-natative\collection.js:185
          const err = new MongooseError(message);
                      ^

MongooseError: Operation `users.insertOne()` buffering timed out after 10000ms
    at Timeout.<anonymous> (F:\Coding\Mern Luminar\MEARN\mern-blog\node_modules\mongoose\e\lib\drivers\node-mongodb-native\collection.js:185:23)
    at listOnTimeout (node:internal/timers:569:17)
    at process.processTimers (node:internal/timers:512:7)

Node.js v18.17.1
[nodemon] app crashed - waiting for file changes before starting...

这是index.js文件

import express from 'express';
import mongoose from 'mongoose';
import dotenv from 'dotenv';
import userRoutes from './routes/user.route.js';
dotenv.config();
mongoose
  .connect(process.env.MONGO)
  .then(() => {
    console.log('MongoDb is connected');
  })
  .catch((err) => {
    console.log(err);
  });
const app = express();
app.listen(3000, () => {
  console.log('Server is running on port 3000!');
});
app.use('/api/user', userRoutes);

这是 .env 文件

MONGO=mongodb+srv://justinv:justin@[电子邮件受保护]/?retryWrites=true&w=majority&appName=mern-blog-t

mongodb server postman mern mongoose-schema
1个回答
0
投票

增加超时限制即可解决。

mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true, serverSelectionTimeoutMS: 30000 });

顺便说一句-Luminaril 安置在印度?

© www.soinside.com 2019 - 2024. All rights reserved.