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

NextJS13+Mongoose重建时触发MissingSchemaError问题求助

求助:NextJS 13 + Mongoose 构建后出现 MissingSchemaError 问题

StackOverflow上现有解决方案都无法解决我的问题,因此重新发帖求助。我正在使用NextJS 13的应用路由搭配Mongoose开发,仅在删除.next目录并重新构建项目时,会触发以下错误:

MissingSchemaError: Schema hasn't been registered for model "student". Use mongoose.model(name, schema)

出现该错误后,我必须重新运行Mongoose脚本并重新填充MongoDB,代码才能恢复正常运行。相关代码如下:

student-session-model.js

import mongoose, { Schema } from "mongoose";
const MODEL_NAME = "student-session";

const schema = new Schema(
  {
    startTime: {
      type: Date,
      required: true,
    },
    endTime: {
      type: Date,
      required: true,
    },
    statements: {
      type: Array,
      required: true,
    },
    completedScenes: {
      type: Array,
    },
    email: {
      type: String,
      required: true,
    },
    student: {
      type: Schema.Types.ObjectId,
      ref: "student",
    },
  },
  { timestamps: true }
);

export default mongoose.models[MODEL_NAME] ||
  mongoose.model(MODEL_NAME, schema);

student-results.js(路由代码)

我尝试过将studentSessionModel的导入放在dbConnect导入之前,仍会出现相同错误:

import { NextResponse } from "next/server";
import { dbConnect } from "@/app/core/db";
import studentSessionModel from "@/app/core/models/student-session-model";

export async function POST(req) {

  try {
    await dbConnect();
    const data = await studentSessionModel.find().populate("student");

    return NextResponse.json({ data });
  } catch (err) {
    console.log("Student Results route err: ", err);
    return NextResponse.json({ err });
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:08:18