public function findOne($collection, $filter = [], $projection = [])
{
if (isset($filter["_id"]) && is_string($filter["_id"])) {
$filter["_id"] = new \MongoId($filter["_id"]);
}
$doc = $this->getCollection($collection)->findOne($filter, $projection);
if (isset($doc["_id"])) {
$doc["_id"] = (string) $doc["_id"];
}
return $doc;
}