小塌客

石头的博客

Category "linux"

MongoDB删除map_reduce生成的tmp collection

在使用MongoDB的map_reduce功能时,会生成很多临时的collections,即使你在调用map_reduce时指定了keeptemp: false, MongoDB只会在session结束或者服务重启时才会删除这些临时的collections, 这对于在调试会非常麻烦,你会看到大量的tmp collections, 所以需要我们进行手工删除,下面就是批量删除的脚本,在mongo shell中执行:

 

function f() {var names = db.getCollectionNames();for(var i = 0; i < names.length; i++){if(names[i].indexOf("tmp.mr") == 0){db[names[i]].drop();}}};
f();

 

上面shitou故意写在一行里,方便各位同学ctrl+c/ctrl+v.