MongoFiles,GridFS和Perl

Pin*_*ade 2 perl mongodb gridfs

我一直在使用perl,MongoDB和GridFS进行一些宠物开发,并且想知道 - 无论如何perl与Mongofiles接口(除了用系统命令导航并用它调用它,嘿) - 就像..well. ..a cpan库?或者是Mongo当前CPAN模块的扩展?

举个例子来说明我想做的事情:

我希望能够将文件存储到我的mongoDB中并将文件检索到我的mongoDB中 - 例如,从命令行导出,一旦我导航到其中包含mongofiles的目录,我就可以执行

mongofiles put "C:\Users\Me\cool.txt"
Run Code Online (Sandbox Code Playgroud)

它会将文件存储到数据库中!假设我从驱动器上删除了cool.txt.现在我执行时:

mongofiles get "C:\Users\Me\cool.txt"
Run Code Online (Sandbox Code Playgroud)

它从数据库中检索文件并将其放在我的目录中!我只是希望能够从Perl访问这个mongofiles功能.即使这意味着在我的脚本目录中有mongofiles的副本.

Fre*_*oth 5

您想使用GridFS.

以下是perl API:http: //api.mongodb.org/perl/current/MongoDB/GridFS.html

这是一个插入示例:

use MongoDB::GridFS;

my $grid = $database->get_gridfs;
my $fh = IO::File->new("myfile", "r");
$grid->insert($fh, {"filename" => "mydbfile"});
Run Code Online (Sandbox Code Playgroud)

并检索:

use MongoDB::GridFS::File;

my $outfile = IO::File->new("outfile", "w");
my $file = $grid->find_one({"filename" => "mydbfile"});;
$file->print($outfile);
Run Code Online (Sandbox Code Playgroud)