Laten we eerst eens kijken naar MongoDB:zoeken met regex kan worden gedaan door een regex te definiëren, zoals uitgelegd hier :
db.users.find({"username": /^a/})
Hetzelfde kan gedaan worden in php door een regex te definiëren, uitgelegd hier :
$collection->find(array('name'=> array('$regex' => '^a'));
U kunt bijna exact dezelfde regex-syntaxis gebruiken met de Doctrine MongoDB ODM:
$user = $this->get('doctrine.odm.mongodb.document_manager')
->getRepository('WishbotWebBundle:User')
->findByUsername(array('$regex' => $fname));
Houd er rekening mee dat een verzameling documenten wordt geretourneerd, zelfs als er maar één wordt gevonden. De regex hierboven komt ook overeen met alle documenten waar de gebruikersnaam de $fname
. bevat waar dan ook.
Als u gebruikersnamen wilt die beginnen met de $fname
, moet u '^' . $fname
.