Создание уникального ключа MongoDB с помощью C #

Я борюсь за создание уникального поля EmailAddress . Я уже видел на форумах, что мне нужно создать индекс, но у меня пока не получилось. У кого-нибудь есть пример кода? Должен ли я создавать индекс при каждом сохранении / вызове или достаточно создать его только один раз?

Я пробовал этот код:

DB.GetCollection<User>(Dbname)
    .EnsureIndex(new IndexKeysBuilder()
        .Ascending("EmailAddress"), IndexOptions.SetUnique(true));

DB.GetCollection<User>(Dbname).Save(user, SafeMode.True);

Моя Модель пользователя выглядит так:

public class User
{
    [Required(ErrorMessage = "Email Required")]
    public string EmailAddress { get; set; }

    public ObjectId Id { get; set; }

    public string FirstName { get; set; }
    public string LastName { get; set; }
}
26
задан Jean-François Fabre 3 June 2019 в 18:58
поделиться