MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Criando uma chave exclusiva do MongoDB com C#


O índice exclusivo só precisa ser criado uma vez, depois disso, qualquer inserção de documento que contenha um endereço de e-mail duplicado falhará. Aqui está um exemplo:
var server = MongoServer.Create("mongodb://localhost");
var db = server.GetDatabase("myapp");

var users = db.GetCollection<User>("users");

users.EnsureIndex(new IndexKeysBuilder()
    .Ascending("EmailAddress"), IndexOptions.SetUnique(true));

var user1 = new User { EmailAddress = "[email protected]" };
var user2 = new User { EmailAddress = "[email protected]" };

try
{
    users.Save(user1, WriteConcern.Acknowledged);
    users.Save(user2, WriteConcern.Acknowledged);  // <-- throws MongoSafeModeException
}
catch (MongoSafeModeException ex)
{
    Console.WriteLine(ex.Message);
}