Przede wszystkim spójrzmy na MongoDB:Wyszukiwanie za pomocą wyrażenia regularnego można wykonać, definiując wyrażenie regularne, jak wyjaśniono tutaj :
db.users.find({"username": /^a/})
To samo można zrobić w php, definiując wyrażenie regularne, wyjaśnione tutaj :
$collection->find(array('name'=> array('$regex' => '^a'));
Możesz użyć prawie dokładnie tej samej składni wyrażeń regularnych z ODM Doctrine MongoDB:
$user = $this->get('doctrine.odm.mongodb.document_manager')
->getRepository('WishbotWebBundle:User')
->findByUsername(array('$regex' => $fname));
Należy pamiętać, że zwracany jest zbiór dokumentów, nawet jeśli znaleziono tylko jeden. Powyższe wyrażenie regularne pasuje również do wszystkich dokumentów, w których nazwa użytkownika zawiera $fname
ciąg w dowolnym miejscu.
Jeśli chcesz nazwy użytkownika zaczynające się od $fname
, musisz użyć '^' . $fname
.