PHPで次のコードを実行してMongoDBをクエリしようとしています。
<?
$m = new Mongo(); // connect
$dogs = $m->dogs;
$races = $dogs->newdogs;
$js = "function() {
return this.location == 'SHEFFIELD'
}";
$dataSet = $races->find(array('$where' => $js));
foreach ($dataSet as $r){
}
?>
これを実行してコンソールを見ると、クエリが1回実行されているのがわかります。
foreachループを次のように別のループ内にネストするように変更すると、次のようになります。
foreach(range(1,5) as $test){
foreach ($dataSet as $r){
}
}
コンソールでクエリが7回実行されているのがわかりますか?これは私がやっている愚かなことですか?スコーピングの問題?それとも、MongoDBがどのように機能するのか誤解していますか?
ありがとうAH