mongooseError:操作 `users.insertOne()` 缓冲在 10000 毫秒后超时

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

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

错误:mongooseError:操作

users.insertOne()
缓冲在10000毫秒后超时

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

//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。有谁知道发生了什么事以及解决方案是什么?

javascript mongodb mongoose-schema
2个回答
0
投票
// 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!"));

0
投票

我也面临同样的问题。 基本上我发现这个视频很有帮助。根据此视频,您必须使用异步代码,因为不再支持非异步代码。 https://youtu.be/B7LLTcAvL9I?si=0PECD8JlpYY7qruu

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