You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Mongoose v8.3.2创建文档时出错,请求技术排查

Mongoose ^8.3.2 创建文档报错排查

环境与问题

使用Mongoose版本^8.3.2,尝试创建新文档时触发错误,无法成功插入数据。

代码展示

主文件

import mongoose from "mongoose";
import User from "./script.js";

mongoose.connect("mongodb://localhost:27017/appdb")

const run = async()=>{
  try {
    const user = new User({name:"someone", age:55})
    user.save()
    console.log(user)
  } catch (error) {
    console.log(error.message)
  }
}
run()

script.js

import mongoose from "mongoose";

const userSchema = new mongoose.Schema({
    name: String,
    age: Number,
})

export default mongoose.model("User" ,userSchema)

错误信息

错误提示为:MongooseError: Operation users.insertOne() buffering timed out after 10000ms

问题原因与解决方案

  • 未等待数据库连接成功就执行操作
    Mongoose的connect是异步操作,当前代码直接调用run()时数据库可能还未完成连接,导致操作缓冲超时。
    解决:修改主文件,等待连接及保存操作完成:

    import mongoose from "mongoose";
    import User from "./script.js";
    
    const run = async()=>{
      try {
        await mongoose.connect("mongodb://localhost:27017/appdb");
        const user = new User({name:"someone", age:55})
        await user.save()
        console.log(user)
      } catch (error) {
        console.log(error.message)
      }
    }
    run()
    
  • MongoDB服务未启动
    检查本地MongoDB服务是否正常运行,确保mongodb://localhost:27017地址可访问。

  • 兼容Mongoose 8.x连接配置
    Mongoose 8.x默认启用了新配置,可显式添加配置项避免兼容问题:

    await mongoose.connect("mongodb://localhost:27017/appdb", {
      useNewUrlParser: true,
      useUnifiedTopology: true
    });
    

内容的提问来源于stack exchange,提问作者Henok

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 21:52:07