- Published on
How to Fix Mongoose Cannot Overwrite Model Once Compiled Error
If you're using mongoose library with serverless framework, then you might have run to the following issue
Cannot overwrite YOUR_MODEL_NAME
model once compiled.
As the error suggest this error occurs as a result of trying to override the same model again.
And you can actually fix it pretty easily.
Just assign the model only if it's not assigned already
Here's a quick example of how to do it.
const mongoose = require('mongoose');
const { Schema } = mongoose;
mongoose.Promise = global.Promise;
const customerSchema = new Schema(
{
name: {
type: String,
required: 'Please supply a name',
trim: true
},
email: {
type: String,
unique: true,
lowercase: true,
trim: true,
required: 'Please Supply an email address'
}
},
);
module.exports =
mongoose.models.Customer || mongoose.model('Customer', customerSchema);