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的副本.
您想使用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)