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 @   IWing  阅读(144)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
点击右上角即可分享
微信分享提示