public function findOne()
{
$mongoDocument = $this->collection->getMongoCollection()->findOne($this->expression->toArray(), $this->fields);
if (null === $mongoDocument) {
return null;
}
if (true === $this->resultAsArray) {
return $mongoDocument;
}
return $this->collection->hydrate($mongoDocument, $this->isDocumentPoolUsed());
}