首页 > 数据库技术 > 详细

C# MongoDB添加索引

时间:2021-04-29 22:36:07      阅读:142      评论:0      收藏:0      [点我收藏+]

场景:

  在最近的项目中,用到了Mongodb,用它来保存大量工业数据。同时是会根据用户自动建立对应的数据表。这要求同时建立索引来加快查询。

解决:

  1.在Nuget包中查询“mongocsharpdriver”,进行安装,这个安装包不同于MongoDB.Driver,这个包包括了MongoDB.Driver、MongoDB.Bson等。同时可以对数据库中每个表进行更加细致的操作,比如index,cursor等。而MongoDB.Driver只能满足一般的增删改查。

  2.添加如下代码:

 1 public void AddIndex(string collection)
 2  {
 3         MongoDatabase mongoDatabase = _mongoClient.GetServer().GetDatabase(_databaseSettings.DatabaseName);
 4         var datacollection = mongoDatabase.GetCollection(collection);
 5         var allindex = datacollection.GetIndexes();
 6         
 7         if (!datacollection.IndexExistsByName("bTime_-1_eTime_-1_devId_1"))
 8         {
 9                 var as_index = new IndexKeysBuilder().Descending("bTime");
10                 as_index.Descending("eTime");
11                 as_index.Ascending("devId");
12                 datacollection.CreateIndex(as_index);
13         }
14    
16 }

  3.这里的 Descending() 和 Ascending() 可以选择字段添加升序还是降序索引,最后通过createIndex来添加索引。

  4.用Navicat查看数据库下的索引情况:

技术分享图片

  成功生成了索引。

  5.最后用查询语句测试一下,有没有命中索引,主要用explain()语句,查看是否命中:

技术分享图片  

  可以看到执行一个查询后,inputStage中的indexName是设置的索引。

C# MongoDB添加索引

原文:https://www.cnblogs.com/chenzibai/p/14719430.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!