您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

C# MongoDB添加索引

bubuko 2022/1/25 19:09:26 dotnet 字数 4093 阅读 1044 来源 http://www.bubuko.com/infolist-5-1.html

场景: 在最近的项目中,用到了Mongodb,用它来保存大量工业数据。同时是会根据用户自动建立对应的数据表。这要求同时建立索引来加快查询。 解决: 1.在Nuget包中查询“mongocsharpdriver”,进行安装,这个安装包不同于MongoDB.Driver,这个包包括了MongoDB.Dr ...

场景:

  在最近的项目中,用到了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


如果您也喜欢它,动动您的小指点个赞吧

除非注明,文章均由 laddyq.com 整理发布,欢迎转载。

转载请注明:
链接:http://laddyq.com
来源:laddyq.com
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


联系我
置顶