2017-12-27 10 views
0

私は、そのIDでデータベースから単一のドキュメントを返そうとしています。 これは私が今持っているものです。PHP MongoDBライブラリfindOneは何も返しません

$id = "5a30ff2c3afc720394000ac2"; 
$collection = (new \MongoDB\Client(DB_HOST))->DB->posts; 
$post = $collection->findOne(['_id' => $id]); 

findOne()find()が動作しているようだしながら、何も返しません。 MongoDBの文書では、文書が見つからなければ何も返さないと述べています。しかし、その文書は私のデータベースにあるようです。

私はPHP MongoDBのドキュメントの例も試しました。

$post = $collection->findOne(['_id' => new \MongoId($id)]); 

これは、クラスが見つかりませんでしたエラーを返します。オブジェクト

として_idデフォルト店によって

+0

試してみてください。$ post = $ collection-> findOne(['_ id' => '$ id']); – halojoy

答えて

0

モンゴあなたはMongoDBのドライバを使用しますが、モンゴのドライバオブジェクトを使用しているこの

$collection->findOne(['_id'=> new \MongoDB\BSON\ObjectId("$mongoId")]); 

を試してみてください。

関連する問題