PHP MongoDB库findOne什么都不返回

时间:2017-12-27 10:27:05

标签: php mongodb

我试图通过它的ID从数据库中返回单个文档。 这就是我现在所拥有的。

$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)]);

这会返回一个没有找到类的错误。

1 个答案:

答案 0 :(得分:0)

默认情况下,

Mongo将_id存储为Object

试试这个

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

您正在使用MongoDB驱动程序,但使用的是Mongo驱动程序对象。