sql >> Database >  >> NoSQL >> MongoDB

Hoe mongodb te ondervragen met de voorwaarde "like" in symfony2

Laten we eerst eens kijken naar MongoDB:zoeken met regex kan worden gedaan door een regex te definiëren, zoals uitgelegd hier :

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

Hetzelfde kan gedaan worden in php door een regex te definiëren, uitgelegd hier :

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

U kunt bijna exact dezelfde regex-syntaxis gebruiken met de Doctrine MongoDB ODM:

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

Houd er rekening mee dat een verzameling documenten wordt geretourneerd, zelfs als er maar één wordt gevonden. De regex hierboven komt ook overeen met alle documenten waar de gebruikersnaam de $fname . bevat waar dan ook.

Als u gebruikersnamen wilt die beginnen met de $fname , moet u '^' . $fname .




  1. TypeError:kan eigenschap 'subject' van null . niet lezen

  2. MongoDb-somquery

  3. Mongodb, geaggregeerde zoekopdracht met $lookup

  4. MongoDB databaseschema-ontwerp