Mongodb批量删除gridfs文件实例_MongoDB

平台有大量的图片已经不用了,数量级达到百万张,差不多100G的空间,放着不管是不是太浪费了?

复制代码 代码如下:

db.fs.files.find({filename:/xxx/}).forEach(function(n) {db.fs.files.update({filename:u.filename},{$set:{filename:newname}},false,true)}} //正则批量更改为固定名称,便于删除。
mongofiles -port 12345 -d xxx delete newname //mongofies根据filename批量干掉这些文件。

db.repairDatabase() //特别注意以上删除不是物理删除,chunks文件实际还在,show dbs 或者 db.stats() 发现db的size没有变化,要执行db.repairDatabase();另外注意这个动作是全局写锁,很耗内存和cpu的,而且处理时间跟文件数量大小有关,务必在非高峰期做。

差不多1个多小时后over, 舒坦了,100G空间啊!!!

Be aware that this command can take a long time to run if your database is large. In addition, it requires a quantity of free disk space equal to the size of your database. If you lack sufficient free space on the same volume, you can mount a separate volume and use that for the repair. In this case, you must run the command line and use the –repairpath switch to specify the folder in which to store the temporary repair files.
Warning:This command obtains a global write lock and will block other operations until it has completed.

时间: 2024-07-31 09:17:11

Mongodb批量删除gridfs文件实例_MongoDB的相关文章

VC实现批量删除指定文件的方法_C 语言

本文所述实例主要实现了删除某个盘符下指定位置的文件,可以是TXT.doc.jpeg等格式,只要选定格式后,再定义好盘符,即可一键删除所有指定类型的文件.再次提示删除前请确认,且删除后不可恢复. 以下是最主要的核心代码,其它代码读者可以自己添加. SHFILEINFO shInfo; memset(&shInfo,0,sizeof(SHFILEINFO)); HIMAGELIST hImage = (HIMAGELIST)SHGetFileInfo("C:\\",0,&s

怎么批量删除txt文件中的空行?

  怎么批量删除txt文件中的空行?下面,给大家分享一个简介的方法: @echo off set n=1 :3 if exist d:new_%n%.txt (set /a n+=1&goto 3) set file=%1 for /f "usebackq delims=" %%i in ("%file%") do ( echo %%i >>d:new_%n%.txt ) echo 处理完毕! start "" d:new_%

如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件?

如何禁止 Mac OS X 在外接设备上生成 .DS_Store 文件?以及如何批量删除 .DS_Store 文件? http://www.java2class.net/bbs/viewthread.php?tid=254  背景信息 .DS_Store文件(Desktop Services Store)是一个隐藏的文件,在每一个目录下都有,它存放着这个文件目录的一些特定属性信息 Metadata,比如图标大小.位置.背景图片等属性:有点儿类似于 Windows 操作系统上的 Thumbs.db

如何批量删除Powerpoint文件中生成的动画效果

     Powerpoint是微软OFFICE系列办公应用软件的重要组成部份之一,也是大家在日常的办公中经常用到的一款软件.由于其集成了一些动画的功能,比较适合课件等的制作,因此受到广泛的欢迎.不过,对于Powerpoint来说,如何批量删除其生成的ppt文件中的动画效果,是一件较为困难的事情.经过试验找到了三种方法,希望能对大家有所帮助:       一,Powerpoint放映设置       打开Powerpoint,在其"放映设置"中,选中设为"播放时不带动画&qu

bat使用forfiles自动批量删除过期文件_DOS/BAT

ftp服务器用于保存备份文件,但是也不需要每天的数据都留着,于是乎为了考虑节省硬盘空间,就必须删除一些老文件,只要保存最近一周或者一个月的就可以了 windows自带了一个批量删除的程序,叫做forfiles,XP里貌似没有,博文最下面附件可以下载 首先说一下我的应用吧,ftp服务器端每天备份数据文件后,只想保存最近两周的文件 编写一个bat文件,内容如下 写道 @echo off rem write to log set filename=deletefile.log echo -------

Win7如何批量删除.svn文件

  操作步骤: 1.创建桌面上创建一个记事本; 2.在记事本输入以下代码并命名为以.reg作为扩展名的文件: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/shell/DeleteSVN] @="Delete SVN Folders" [HKEY_LOCAL_MACHINE/SOFTWARE/Classes/Folder/shell/DeleteSVN/command]

批量删除.SVN文件

1.Windows环境 将下面的代码保存为 kill-svn.bat文件,放到要删除.svn文件的目录下,双击运行即可 @echo on @rem 删除SVN版本控制目录 @rem for /r . %%a in (.) do @if exist "%%a\.svn" @echo "%%a\.svn" @for /r . %%a in (.) do @if exist "%%a\.svn" rd /s /q "%%a\.svn"

浅析Yii2 gridview实现批量删除教程_php实例

在朋友圈里有童鞋向我讨论GridView的问题,有朋友说你用gridview给我去掉表头的链接?我想的很久,用gridview确实不容易实现.有不同见解的朋友欢迎留言.但是呢,这根gridview有个毛线关联啊,明明是要设置ActiveDataProvider,你要我怎么用gridview实现嘛. 这个问题也是很简单的,我们来看看具体实现 $dataProvider = new ActiveDataProvider([ 'query' => $query, ]); $dataProvider->

php ftp上传,下载,删除服务器文件实例

php教程 ftp传送文件到服务器 <?php // 开始 $ret = ftp_nb_get ($my_connection, "test", "README", FTP_BINARY,                       filesize("test")); // 或: $ret = ftp_nb_get ($my_connection, "test", "README", //