У меня проблема с этой ошибкой, когда я создаю новое событие с категорией, которая существует в моей базе данных, например, я создал событие с категорией "javascript" и сохранил его в БД, а затем я попытался создать новое событие с категориями " JavaScript, HTML, CSS", а затем я получил эту ошибку дубликат ключей ошибки
Итак, моя схема для события такова:
const EventSchema = new Schema({
title: {
type: String,
required: true,
min: 3,
max: 100
},
featuredImage: {
type: Object,
},
from: {
type: Date,
required: true
},
to: {
type: Date,
required: true
},
location: {
name: {
type: String
},
address: {
type: Object
}
},
description: {
type: String
},
categories: {
type: Array,
trim: true
},
featured: {
type: Boolean
},
created_by: {
type: Schema.Types.ObjectId,
ref: 'User'
},
slug: {
type: String,
default: null
},
registration: {
type: Boolean
},
tickets: [],
allday: {
type: Boolean
},
speakers: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
attendees: [{
type: Schema.Types.ObjectId,
ref: 'User'
}],
comments: [CommentSchema]
}, {
timestamps: true,
usePushEach: true
});
Так что в основном отправка массива строк, и я получил эту ошибку.
Возможно, у вас есть определенный индекс для categories
с unique
флагом.
Вы можете перечислить существующие индексы с помощью db.events.getIndexes()
.
Вы можете уронить и воссоздать виновника (будьте осторожны):
> db.events.dropIndex({categories:1})
> db.events.ensureIndex({categories:1},{sparse:true})