Först och främst, låt oss titta på MongoDB:Sökning med regex kan göras genom att definiera ett regex, som förklarat här :
db.users.find({"username": /^a/})
Detsamma kan göras i php genom att definiera ett regex, förklarade här :
$collection->find(array('name'=> array('$regex' => '^a'));
Du kan använda nästan exakt samma regex-syntax med Doctrine MongoDB ODM:
$user = $this->get('doctrine.odm.mongodb.document_manager')
->getRepository('WishbotWebBundle:User')
->findByUsername(array('$regex' => $fname));
Observera att en samling dokument returneras, även om endast en hittas. Regexet ovan matchar också alla dokument där användarnamnet innehåller $fname
sträng var som helst.
Om du vill ha användarnamn som börjar med $fname
, måste du använda '^' . $fname
.