- Published on
How to Fix Mongoose Cannot Overwrite Model Once Compiled Error
- Authors
- Name
- Ashik Nesin
- @AshikNesin
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);