@estluced

Проблема с unique indexes, как решить?

Добрый день!
Сразу к делу, представим коллекцию users, в ней уникальные ключи будут login, email.
db.users.createIndexes([{'login':1,'email':1}], {unique:true})

Далее инсертим данные:
db.users.insert({'login':'login','email':'email'})
Если ещё раз прописать команду - то будет жаловаться на дубль, то есть всё ок.
Допустим уже есть подобная структура:
{
   'id': ObjectId('example'),
   'login': 'ricardo.milos',
   'email': 'ricardo@example'
}

Ну и суть проблемы:
db.users.insert({
   'id': ObjectId('example'),
   'login': 'deez.nuts',
   'email': 'ricardo@example'
})

И тут монго успешно делает инсерт, хотя такой-же email уже присутствует в коллекции.
Думаю суть проблемы ясна, нужно чтобы два ключа были строго уникальны, и при попытке инсерта с такой же почтой но с другим логином монго выдавал дубль, и на оборот.
Кто уже сталкивался с данной проблемой, есть решение? Или это особенности бд?
  • Вопрос задан
  • 28 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы