foreach循环和while循环之间的mongoDB游标差异

时间:2016-03-22 05:56:49

标签: mongodb mongodb-query aggregation-framework php-mongodb

我正在使用mongoDB PHP,当我使用查询查询或聚合框架时,结果是一个游标,我可以使用foreach循环或while循环迭代游标。例如,我有以下查询来执行

$result = $collection->find();

我能够使用以下两种方法迭代结果

1- foreach($result as $mongoid => $doc) {
        echo "mongoid is " . $mongoid;
        print_r($doc);
    }

2- while ( $result->hasNext() ) {
       $doc = $result->getNext();  
       $result->next();  
       print_r( $doc );
       echo "find one doc in cursor\n";

   }

以上哪种迭代方法最好,为什么?

1 个答案:

答案 0 :(得分:0)

在这种情况下使用foreachwhile时没有任何显着差异。读环性能是一样的。使用foreach可使您的代码更具可读性。 您可以在The PHP Benchmark上检查写/读循环性能。