我使用此代码在数据库中查找特定文本然后我将加载到mojolicious页面。这个方法好还是多快?
use MongoDB;
use Data::Dump q(dump);
my $connection = MongoDB::Connection->new(host => 'localhost', port => 27017);
my $database = $connection->test;
my $col = $database->user;
my $r3 = $database->run_command([
"distinct" => "person",
"key" => "text",
"query" =>""
]);
for my $d ( @{ $r3->{values} } ) {
if ($d=~ /value/){
print "D: $d\n";
}
}
答案 0 :(得分:0)
distinct
命令当然可以工作(似乎确实如此),所以它很好。它也可能是执行此操作的最快方法(实现只打开适当的索引,从中读取并填充哈希表,IIRC)。
但请注意,如果不同值的总大小大于BSON大小限制(当前为16MB),则会失败并显示错误。
如果你碰到这个,你将不得不求助于更慢的选择。例如,MapReduce。