【发布时间】:2014-01-24 22:47:46
【问题描述】:
我正在考虑使用多个类似文件夹的 gridfs。这个想法是删除文件夹很容易。只需删除文件系统。我只有一个问题。我没有看到任何删除它们的方法?如果删除它们意味着我必须遍历所有它们并一个一个地删除它们,那么这样做是没有意义的。所以如果对 gridfs 更了解的人可以确认这是否可以做到,这是一个愚蠢的主意吗?此外,使用每个“文件/文件夹”的自己的索引等创建一个单独的文件系统可能是非常不明智的,因此可能会导致创建数千个单独的文件系统...... (但是,不要只是说这是一个愚蠢的想法,它是否可以做到,如果可以,怎么做,即使在我的特定用例中是不明智的,这仍然是一个有效的问题。)
这是我试图通过 ruby 驱动程序实现的目标的说明:
file = "some_image.jpg"
grid = Mongo::Grid.new(Mongoid.database, File.join(cache_dir, File.basename(file))
genereate_versions_of(file).each do |version| #e.g. micro.jpg, thumbnail.jpg, large.jpg
grid.put version
end
#and then later when all of the versions of this file needs to be deleted I'd like
#to do something like this... but it seems it's not possible?
Mongo::Grid.destroy(Mongoid.database, File.join(cache_dir, File.basename(file))
#or
grid = Mongo::Grid.new(Mongoid.database, File.join(cache_dir, File.basename(file))
grid.destroy
【问题讨论】: