The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

MongoDB::GridFS::File - A Mongo GridFS file

VERSION

version v0.999.998.5

SYNOPSIS

use MongoDB::GridFS::File;

$outfile = IO::File->new("outfile", "w");
$file = $grid->find_one;
$file->print($outfile);

USAGE

Error handling

Unless otherwise explictly documented, all methods throw exceptions if an error occurs. The error types are documented in MongoDB::Error.

To catch and handle errors, the Try::Tiny and Safe::Isa modules are recommended:

use Try::Tiny;
use Safe::Isa; # provides $_isa

$bytes = try {
    $file->slurp;
}
catch {
    if ( $_->$_isa("MongoDB::TimeoutError" ) {
        ...
    }
    else {
        ...
    }
};

To retry failures automatically, consider using Try::Tiny::Retry.

ATTRIBUTES

info

A hash reference of metadata saved with this file.

METHODS

print

$written = $file->print($fh);
$written = $file->print($fh, $length);
$written = $file->print($fh, $length, $offset)

Writes the number of bytes specified from the offset specified to the given file handle. If no $length or $offset are given, the entire file is written to $fh. Returns the number of bytes written.

slurp

$all   = $file->slurp
$bytes = $file->slurp($length);
$bytes = $file->slurp($length, $offset);

Return the number of bytes specified from the offset specified. If no $length or $offset are given, the entire file is returned.

AUTHORS

  • David Golden <david@mongodb.com>

  • Mike Friedman <friedo@mongodb.com>

  • Kristina Chodorow <kristina@mongodb.com>

  • Florian Ragwitz <rafl@debian.org>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2015 by MongoDB, Inc..

This is free software, licensed under:

The Apache License, Version 2.0, January 2004