sql >> Databasteknik >  >> NoSQL >> MongoDB

Hur man frågar mongodb med villkoret "like" i symfony2

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 .




  1. Mongodb:aggregerad array av heltal för varje arrayposition

  2. MongoDB sammanlagt returräkning på 0 om inga resultat

  3. PHP kan inte hitta MongoDB-drivrutinen

  4. Fråga IDE för MongoDB?