Mongo File Store
Mongo File Store is a library for adding small files from the filesystem to MongoDB using Mongoid.
Status
Install
gem install mfs
Purpose
- Shared Set of Files
- Attach Metadata to Files
- Retrieve Files based on metadata
Usage
require 'mfs'
entry = Mfs::Entry.load_file('path/to/file')
entry.filepath
entry.filename
entry.created_at
entry.data
# Set arbitrary Meta-data fields
Mfs::Entry.load_file('path/to/file',test_field: true)
entry = Mfs::Entry.where(test_field: true).first
# Load all files in a directory structure
entries = Mfs::Entry.load_directory('path/to/files')
# Load all files and set meta-data
entries = Mfs::Entry.load_directory('path/to/files') do |filename|
{has_a: filename.include('a')}
end
Create your own file types. As an example see Mfs::Types::Certificate and its Spec
Limitations
- No File Hierarchy
- Does not use GridFS (<16MB files only)
- Does not check for duplicate files