0

カウント行でコードをチェックしようとしています。しかし、このコードは非常に遅く動作します。このコードを最適化するにはどうすればよいですか? とにかく数えることはありますか?

$find = $conn_stok->distinct("isbn");

for($i=0;$i<=25; $i++) {
    $isbn = $find[$i];

    $countit= $conn_kit->find(array('isbn'=>$isbn))->count();
    if($countit> 0){
        echo "ok<br>";
    } else {
        echo "error<br>";
    }
}
4

2 に答える 2

0

古い SQL で単純な count(*) group by を実行しようとしているようです。MongoDB では、集約フレームワークを使用して、コードで行うのではなく、データベースに作業を行わせます。

集計フレームワークのパイプラインは次のようになります。

db.collection.aggregate({$group:{_id:"$isbn", count:{$sum:1}}}

ヘルプが必要な場合は、PHP に翻訳させていただきます。豊富な例が用意されています。

于 2013-06-23T08:07:00.910 に答える