Ошибка повторяющегося ключа в модели MongoDB, даже если модель не обеспечивает уникальность для этого значения - PullRequest
0 голосов
/ 19 сентября 2018

В моем приложении есть конечная точка, которая позволяет пользователю создавать новый документ, просто передавая что-то вроде этого:

{ name: { long: "some name" } }

Теперь соответствующая часть модели для этого документа выглядит следующим образом:

name: {
  long: {
    type: String,
    trim: true
  },
  short: {
    type: String,
    trim: true
  }
}

Как видите, у меня нет "short", установленного в "unique: true".Тем не менее, пользователь получает эту ошибку:

 "errmsg": "E11000 duplicate key error collection: hr.agencies index: name.short_1 dup key: { : null }"

Итак, ясно, что проблема здесь в том, что если у вас есть более одного "name.short" со значением null, это приводит к ошибке дублирования,Однако, поскольку у меня в модели unique не установлено значение true, я не уверен, почему она, как правило, применяет это.

Что может быть здесь, и как я могу это сделать?решить это?Есть ли способ, которым я могу прямо сказать, не применять уникальность в этом поле?

1 Ответ

0 голосов
/ 19 сентября 2018

Попробуйте удалить индекс из клавиши short, используя

db.collection.dropIndex({ "name.short": 1 })
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...