Først og fremmest, lad os se på MongoDB:Søgning med regex kan gøres ved at definere et regex, som forklaret her :
db.users.find({"username": /^a/})
Det samme kan gøres i php ved at definere et regex, forklaret her :
$collection->find(array('name'=> array('$regex' => '^a'));
Du kan bruge næsten nøjagtig samme regex-syntaks med Doctrine MongoDB ODM:
$user = $this->get('doctrine.odm.mongodb.document_manager')
->getRepository('WishbotWebBundle:User')
->findByUsername(array('$regex' => $fname));
Bemærk venligst, at en samling af dokumenter returneres, selvom der kun findes ét. Regex ovenfor matcher også alle dokumenter, hvor brugernavnet indeholder $fname
snor hvor som helst.
Hvis du vil have brugernavne, der starter med $fname
, skal du bruge '^' . $fname
.