Първо, нека да разгледаме MongoDB:Търсенето с регулярен израз може да се извърши чрез дефиниране на регулярен израз, както е обяснено тук :
db.users.find({"username": /^a/})
Същото може да се направи в php чрез дефиниране на регулярен израз, обяснено тук :
$collection->find(array('name'=> array('$regex' => '^a'));
Можете да използвате почти същия синтаксис на регулярен израз с Doctrine MongoDB ODM:
$user = $this->get('doctrine.odm.mongodb.document_manager')
->getRepository('WishbotWebBundle:User')
->findByUsername(array('$regex' => $fname));
Моля, имайте предвид, че колекция от документи се връща, дори ако бъде открит само един. Регулярният израз по-горе също съответства на всички документи, където потребителското име съдържа $fname
низ навсякъде.
Ако искате потребителски имена, които започват с $fname
, трябва да използвате '^' . $fname
.