Сначала получите соединение с базой данных , мы назовем это db
. Затем вы можете подключиться к вашей GridFS как Mongo :: Grid или Mongo :: GridFileSystem экземпляр:
fs = Mongo::Grid.new(db)
fs = Mongo::GridFileSystem.new(db)
Теперь вы можете использовать Mongo :: GridExt :: InstanceMethods методы для fs
. В частности, вы можете использовать exist?
:
f = fs.exist? :filename => 'pancakes.png'
Метод exist?
назван плохо, так как он дает вам хэш, если он что-то находит, и nil
, если его нет.
Это не очень полезно, если вы ищете, скажем, все имена файлов, которые соответствуют /pancakes/
. Однако GridFS - это просто пара обычных коллекций MongoDB:
fs.files
: метаданные файла.
fs.chunks
: данные файла (кусками).
Если вы хотите выполнить произвольный поиск метаданных, вам нужно просто взять в свои руки fs.files
и разобраться с этим:
fs = db['fs.files']
cursor = fs.find(:filename => /pancakes/)
# Now iterate through cursor or .count it or ...
Выше fs
будет Mongo :: Collection , поэтому его find
метод принимает все обычные параметры запроса.