mongooseError:操作' users.insertOne() '缓冲在10000 ms后超时



当我在这段代码中运行mongoose时,在我看来,它好像没有及时连接到我的数据库。这是一个本地mongodb数据库,而不是atlas。

报错:mongooseError: Operationusers.insertOne()buffering timed out after 10000ms

发生时,我没有注释掉插入操作,我将在控制台连接到数据库一段时间后登录到控制台。当它没有被注释掉时,我没有得到"猫鼬已被连接",而只是前面提到的错误。

//script.js
const mongoose = require('mongoose')
const User = require("./User")
mongoose.connect("mongodb://localhost/bh_db", 
()=>{
console.log("mongoose has been connected")
}, e => console.error(e))
const user = new User({name:"Kyle", age: 26})
user.save().then( () =>console.log("User Saved"))
//User.js
const mongoose = require('mongoose')
const userSchema = new mongoose.Schema({
name: String,
age: Number
})
module.exports = mongoose.model("User", userSchema)

当我注释掉插入新用户时,它需要一段时间,但最终它将连接到bh_db。有人知道发生了什么,解决办法是什么吗?

// Connect to the MongoDB cluster
try{
mongoose.connect(
"mongodb://0.0.0.0:27017/bh_db",
{ useNewUrlParser: true, useUnifiedTopology: true },
() => console.log("Mongoose is connected"),
);
} catch (e) {
console.log("could not connect");
}
const dbConnection = mongoose.connection;
dbConnection.on("error", (err) => console.log(`Connection error ${err}`));
dbConnection.once("open", () => console.log("Connected to DB!"));

最新更新