MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie man Mongodb mit der Bedingung „like“ in Symfony2 abfragt

Schauen wir uns zunächst MongoDB an:Die Suche mit Regex kann durch die Definition einer Regex erfolgen, wie erklärt hier :

db.users.find({"username": /^a/})

Dasselbe kann in PHP durch die Definition einer Regex erreicht werden, erklärt hier :

$collection->find(array('name'=> array('$regex' => '^a'));

Sie können die fast exakt gleiche Regex-Syntax mit dem Doctrine MongoDB ODM verwenden:

$user = $this->get('doctrine.odm.mongodb.document_manager')
        ->getRepository('WishbotWebBundle:User')
        ->findByUsername(array('$regex' => $fname));

Bitte beachten Sie, dass eine Sammlung von Dokumenten zurückgegeben wird, auch wenn nur eines gefunden wird. Die obige Regex stimmt auch mit allen Dokumenten überein, in denen der Benutzername den $fname enthält Schnur irgendwo.

Wenn Sie Benutzernamen wünschen, die mit $fname beginnen , müssen Sie '^' . $fname .