Я пытаюсь создать несколько уникальных индексов для коллекции users
, которые также редки.
Вариант использования: разрешить пользователю зарегистрироваться по телефону или электронной почте.
Проблема: Mongo db позволяет создавать такие индексы, и приложение работает, как ожидается, при подключении к реальному экземпляру Mongo 3.2.Однако в космосе электронная почта становится уникальным, но не редким полем.
Есть ли способ реализовать этот вариант использования с космосом через API mongodb?т. е. не прибегая к проверке уникальности с помощью запроса на выборку перед каждой вставкой.
Попытки: просмотр документации по космосу выявил мало.Они утверждают, что поддерживают API Mongo 3.2, и разреженные индексы не упоминаются в предостережениях.Создание уникально-разреженного индекса с createIndex
не приводит к ошибке, а только создает уникальный индекс.Создание другого подобного индекса в другом поле не приводит к ошибке, но даже не создает уникальный индекс.Он создает нормальный индекс.
Обновление: получен ответ от службы поддержки Azure:
В настоящее время мы не поддерживаем разреженные индексы.Вы можете сделать это, то есть создать составной индекс со свойством телефона и электронной почты.
Я не думаю, что составной индекс поможет мне в моем случае использования, так как я хочу и телефон, и электронную почтучтобы быть глобально уникальным в коллекции, а не только их сочетание.