我一直在使用 perl、MongoDB 和 GridFS 进行一些宠物开发,并且想知道 - perl 是否可以与 Mongofiles 交互(除了使用系统命令导航并以这种方式调用它,嘿) - 比如。 .well...cpan 库?还是 Mongo 的当前 CPAN 模块的扩展?
举个我想做的例子:
我希望能够将文件存储到我的 mongoDB 中并将文件检索到我的 mongoDB - 例如,从命令行,一旦我导航到其中包含 mongofiles 的目录,我就可以执行
mongofiles put "C:\Users\Me\cool.txt"
它会将文件存储到数据库中!假设我从驱动器中删除了 cool.txt。现在当我执行时:
mongofiles get "C:\Users\Me\cool.txt"
它从数据库中检索文件并将其放入我的目录中!我只想能够从 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"});
并检索:
use MongoDB::GridFS::File;
my $outfile = IO::File->new("outfile", "w");
my $file = $grid->find_one({"filename" => "mydbfile"});;
$file->print($outfile);
关于perl - MongoFiles、GridFS 和 Perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11145284/