它在终端中给出这样的错误
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
增加超时限制即可解决。
mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true, serverSelectionTimeoutMS: 30000 });
顺便说一句-Luminaril 安置在印度?