Prima di tutto, diamo un'occhiata a MongoDB:la ricerca con regex può essere eseguita definendo una regex, come spiegato qui :
db.users.find({"username": /^a/})
Lo stesso può essere fatto in php definendo una regex, ha spiegato qui :
$collection->find(array('name'=> array('$regex' => '^a'));
Puoi usare la stessa sintassi regex quasi identica con Doctrine MongoDB ODM:
$user = $this->get('doctrine.odm.mongodb.document_manager')
->getRepository('WishbotWebBundle:User')
->findByUsername(array('$regex' => $fname));
Si prega di notare che viene restituita una raccolta di documenti, anche se ne viene trovato solo uno. La regex sopra corrisponde anche a tutti i documenti in cui il nome utente contiene il $fname
stringa ovunque.
Se vuoi nomi utente che iniziano con $fname
, devi usare '^' . $fname
.