仕事で新しいプロジェクトにmongoDBを使用していますが、解決策が見つからない問題が発生しました。私のプロジェクトには、MongoDB からいくつかのデータをフェッチするメソッドを含むモデルがあります。
メソッド:
public function getData($input) {
$output = $this->_collection->find($input);
//$output = $this->_collection->findOne($input);
Zend_Debug::Dump($output);
return $output;
}
そのコードを実行すると、ダンプから次のようになります。
object(MongoCursor)#52 (0) {
}
findOne() の使用:
array(12) {
["_id"] => object(MongoId)#54 (1) {
["$id"] => string(24) "4fd85d178efd307080000001"
}
["autoadd"] => string(1) "1"
["name"] => string(5) "Sport"
["keyword"] => string(8) "cookie29"
["antal"] => string(1) "0"
["antal_week_date"] => string(10) "1218818007"
["version"] => string(1) "1"
["active"] => string(1) "1"
["antal_week"] => string(1) "0"
["customer_id"] => string(1) "2"
["id"] => string(2) "29"
["insert_date"] => string(10) "2007-11-21"
}
そして使用する場合$output = $this->_collection->find($input)->count();
:
int(20)
私は何を間違っていますか?これは単純な問題かもしれませんが、これを行う他の方法が見つかりません。入力が何であるか疑問に思うなら、それは単なる連想配列です:
$data = array('active' => '1');
これらの 20 の素敵な「行」データをすべてフェッチするのを手伝ってください。ありがたく思います。
あなたのアドバイスとより良い知恵をありがとう!