Ale*_*pin 11 javascript shell mongodb gridfs
我使用GridFS存储在MongoDB中的文件.我需要从JavaScript shell中删除ID中的一些文件.我需要使用它的ID删除单个文件.我想我可以这样做:
db.fs.files.remove({_id: my_id});
Run Code Online (Sandbox Code Playgroud)
这在某种程度上起作用; 它从fs.files集合中删除文件,但不从集合中删除块本身fs.chunks.我知道的原因是因为我在RockMongo之前和之后检查了两个集合的长度.
我可以浏览一下块并删除那些引用该文件的内容,但有没有更好的内置方法呢?
Xen*_*noN 23
您可以通过删除shell中的块和文件来删除gridFS文件.例如
db['fs.chunks'].remove({files_id:my_id});
db['fs.files'].remove({_id:my_id});
Run Code Online (Sandbox Code Playgroud)
那些命令会做这样的伎俩.
Eve*_*man 13
你想要db.fs.delete(_id);改用.
更新 抱歉,这显然无法从shell中运行,只能通过驱动程序.GridFS是驱动程序实现的存储规范.看起来它没有shell的内置功能,因此.
更新2还有一个命令行工具mongofiles(http://www.mongodb.org/display/DOCS/GridFS+Tools),它允许您按名称删除文件.mongofiles delete <filename>.它附带一个警告,它将删除该名称的所有文件,因此它不像id那样精细.
| 归档时间: |
|
| 查看次数: |
13696 次 |
| 最近记录: |