Perl mongodb检查是否存在

时间:2014-07-24 14:34:30

标签: perl mongodb find exists

在perl中检查mongodb中的文档是否存在的最快方法是什么?

有没有比这更快的方法?:

my $cursor = $cache->find( { "key" => $key->key } );

if ( $cursor->count ) {
return 1;
}

1 个答案:

答案 0 :(得分:2)

使用count方法很好。要保存一些代码,您可以改为使用find_one

return 1 if $cache->find_one( { "key" => $key->key } );

这两者都有大约相同的网络开销,需要至少两次往返才能发送查询并从游标中检索结果。

如果使用命令,可能会节省一点处理时间。 (尽管如此,这只是对find_one集合进行了$cmd

my $results = $cache->aggregate( [ { '$match' => { key => $cache->key } }, { '$limit' => 1 } ] );
return 1 if @$results;

但我怀疑这种级别的网络开销会产生很大的影响。我鼓励您在现实条件下对其进行基准测试,看看哪种方法效果最好。