I'm struggling with Error E11000 duplicate key error collection, I have a schema with another sub-schema array and when I try to insert my schema with the empty array I allways get this error. I tried to set it undefined on pre-save without sucesss... I have deleted my schem from mongoDB and its indexes. The error appears after I insted **autoincrement **in Marker schema.
City Schema:
let mongoose = require('mongoose');
let autoIncrement = require('mongoose-auto-increment');
let Marker = require('./marker');
var MarkerSchema = require('mongoose').model('marker').schema;
//City Schema
//status : 1 Ok, 2 Hidden, 3 Deleted
let citySchema = mongoose.Schema({
id: {
type: Number,
required: true
},
name: {
type: String,
required: true
},
status: {
type: Number,
required: true
},
coordinates: {
latitude: {
type: Number,
required: true
},
longitude: {
type: Number,
required: true
}
},
markers: [MarkerSchema]
});
citySchema.pre('save', function (cb) {
console.log('pre save');
if (this.markers && this.markers.length === 0) {
this.markers = undefined;
}
cb();
});
citySchema.plugin(autoIncrement.plugin, {
model: 'city',
field: 'id',
startAt: 1,
incrementBy: 1
});
let City = module.exports = mongoose.model('city', citySchema);
marker schema
let mongoose = require('mongoose');
let autoIncrement = require('mongoose-auto-increment');
let markerSchema = mongoose.Schema({
status: {
type: Number,
required: true
},
description: {
type: String,
required: true
},
coordinates: {
latitude: {
type: Number,
required: true
},
longitude: {
type: Number,
required: true
}
}
});
markerSchema.plugin(autoIncrement.plugin, {
model: 'marker',
field: 'id',
startAt: 1,
incrementBy: 1
});
let Marker = module.exports = mongoose.model('marker', markerSchema);