ExpressJS - коллекция ошибок дублированного ключа

1

У меня проблема с этой ошибкой, когда я создаю новое событие с категорией, которая существует в моей базе данных, например, я создал событие с категорией "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
});

Так что в основном отправка массива строк, и я получил эту ошибку.

  • 1
    Были ли остальные поля уникальными? Посмотрите на этот stackoverflow.com/questions/24430220/…
  • 0
    приведите, пожалуйста, пример двух событий, которые вы создали (одно, которое было создано, и то, которое выдало ошибку)
Теги:
express
mongoose

1 ответ

0

Возможно, у вас есть определенный индекс для categories с unique флагом.

Вы можете перечислить существующие индексы с помощью db.events.getIndexes().

Вы можете уронить и воссоздать виновника (будьте осторожны):

> db.events.dropIndex({categories:1})
> db.events.ensureIndex({categories:1},{sparse:true})

Ещё вопросы

Сообщество Overcoder
Наверх
Меню