0

だから私はMongoDBを学んでおり、クエリを実行したいと思って、慣れ親しんだ方法で機能しない配列を返すことを発見するまで、すべてが正常に機能していました。例を見てみましょう:

$cursor = $collection->find(array('game' => 'Borderlands 2'));

$array = iterator_to_array($cursor);

ここまではうまくいきましたが、ページに動的に追加する単一の値を取得したいと考えました。

The game is: <?php echo $array['game'] ?>

そして、エラーだけが続きました。私はたくさんのことを試しvar_dumpましたが、配列がID /インデックス配列に含まれていることがわかったので、これはうまくいきました:

<?php echo $array["5138225097777c4014000001"]["game"] ?>

周りに説明が見つかりませんでした。仕組みは理解できましたが、これがコレクションに値を追加するときに犯した間違いなのか、それとも何か不足しているのかはわかりません。ありがとう!!

4

2 に答える 2

2

これは、find が結果の配列を返す (そして各結果が配列に変換される) ためです。したがって、配列内のキーとして Mongo ObjectId を持つ結果の配列があります。結果を 1 つだけ取得する場合は、findOne を使用します。

于 2013-03-07T06:36:38.733 に答える
1
$cursor = $collection->find(array('game' => 'Borderlands 2'));
while ($document = $cursor->getNext()){
      echo $document['game'];
}
于 2013-03-07T06:48:55.010 に答える