⨯ OverwriteModelError: Cannot overwrite `Student` model once compiled.
Answered
Bumble bee posted this in #help-forum
Bumble beeOP
import { connectToDatabase } from '@/lib/database';
import { Student } from '@/lib/database/models';
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
const data = await req.json();
const {userId, major, yearOfStudy} = data;
try {
await connectToDatabase();
const updatedStudent = await Student.findByIdAndUpdate(
userId,
{major, year: parseInt(yearOfStudy)},
{new: true}
);
if(!updatedStudent) {
return new NextResponse('student not found', {status: 404})
}
return new NextResponse('ok', {status: 200})
} catch (error) {
console.error('error updating student', error);
return new NextResponse('interal server error', {status: 500})
}
} can somebody help me please
import { Student } from '@/lib/database/models';
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
const data = await req.json();
const {userId, major, yearOfStudy} = data;
try {
await connectToDatabase();
const updatedStudent = await Student.findByIdAndUpdate(
userId,
{major, year: parseInt(yearOfStudy)},
{new: true}
);
if(!updatedStudent) {
return new NextResponse('student not found', {status: 404})
}
return new NextResponse('ok', {status: 200})
} catch (error) {
console.error('error updating student', error);
return new NextResponse('interal server error', {status: 500})
}
} can somebody help me please
Answered by @ts-ignore
mongoose tries to create
Student again and again, you can fix it with import mongoose from "mongoose"
export const Student = mongoose.models.Student || model("Student",StudentSchema)2 Replies
@Bumble bee import { connectToDatabase } from '@/lib/database';
import { Student } from '@/lib/database/models';
import { NextRequest, NextResponse } from 'next/server';
export async function POST(req: NextRequest) {
const data = await req.json();
const {userId, major, yearOfStudy} = data;
try {
await connectToDatabase();
const updatedStudent = await Student.findByIdAndUpdate(
userId,
{major, year: parseInt(yearOfStudy)},
{new: true}
);
if(!updatedStudent) {
return new NextResponse('student not found', {status: 404})
}
return new NextResponse('ok', {status: 200})
} catch (error) {
console.error('error updating student', error);
return new NextResponse('interal server error', {status: 500})
}
} can somebody help me please
mongoose tries to create
Student again and again, you can fix it with import mongoose from "mongoose"
export const Student = mongoose.models.Student || model("Student",StudentSchema)Answer
Bumble beeOP
@@ts-ignore thx so much❤️ ))