MongoDB代码实例2,创建索引

            var database = client.GetDatabase("MyTestDB2");
            var collection = database.GetCollection<UserInfo>("UserInfo");

 
           
            var indexModel = new CreateIndexModel<UserInfo>(
               Builders<UserInfo>.IndexKeys.Ascending(_ => _.Name), new CreateIndexOptions
               {
                   Name = "UerInfo_index_name",
Unique = true, //唯一值索引
}); var indexname = collection.Indexes.CreateOne(indexModel);

collection.Indexes.CreateOne( Builders<UserInfo>.IndexKeys.Hashed(m=>m.Id)); //设置Id为哈希类型,并建立索引,哈希类型是否以后分片集群做准备的

注意:索引的创建不受事务控制

查询现有索引:

collection.Indexes.List().ToList();

 如何判断插入重复的数据(违法唯一值索引)

            var database = client.GetDatabase("MyTestDB2");
            var collection = database.GetCollection<UserInfo>("UserInfo");
            try
            {
                collection.InsertOne(new UserInfo
                {
                    Name = "JackTan"
                });
            }
            catch (MongoWriteException ex)
            {
                if(ex.WriteError.Category == ServerErrorCategory.DuplicateKey)
                {
                    //插入重复数据
                }
                throw;
            }

 

posted @ 2023-02-06 12:15  IWing  阅读(157)  评论(0)    收藏  举报