| 
 
积分40186好友记录主题帖子听众收听 
 | 
 
| 被mongodb数据库的RemoveAll()方法坑到了!!! 
 大家围观看我是怎么被坑的
 
 需求
 
 今天因为业务调整需要将Mongodb数据库中的一个集合清空,并 安新的数据格式重新导入数据,但由于有索引文件,而索引巨大,不想删除,想着直接把数据删除了,然后再慢慢导进来,这样索引可以得到保留,数据也不算多,也就300W上下
 
 操作
 
 我执行了命令
 
 [C#] 纯文本查看 复制代码 coll.RemoveAll();
 后果
 
 结果,结果, 是在删除,但是是以每秒100条不到的速度删除,我了个去,这样下去,得多长时间。8.3小时左右。这是要到下班的节奏
 
 解决办法
 
 
 其实最主要还是我大意了,想多了,
 应该是先直接把集合给删除掉,然后再导,可以先导100条数据时,开始建立索引,这样速度不会慢,也可以实现我上面的功能。
 
 第一步我们先去Mongodb,VUE中直接断开执行,这也是一个技巧,很多人不知道通过工具可以直接将正在执行的操作给结束掉。
 如果真要等8个小时,那就太难坎了
 
   
 如上图直接单击kill就行了。
 然后我们可以通过 直接dorp命令直接删除集合,这样我测试只需要10秒不到,加上建立索引的时候也不会超过半个小时。
 
 
 
 | 
 |