我试图通过它的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)]);
这会返回一个没有找到类的错误。
答案 0 :(得分:0)
Mongo将_id存储为Object
试试这个
$collection->findOne(['_id'=> new \MongoDB\BSON\ObjectId("$mongoId")]);
您正在使用MongoDB驱动程序,但使用的是Mongo驱动程序对象。