MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come interrogare mongodb con la condizione “like” in symfony2

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 .