sql >> Database >  >> NoSQL >> MongoDB

Deze LEFT() SQL bouwen in MongoDB Query?

Als u alleen een telefoonnummer wilt dat begint bij nummer '3', kunt u gewoon de slimme beslissing van @mstearn gebruiken , hier alleen c# realisatie:

var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));

Maar laten we zeggen dat als je de eerste 3 getallen in het bereik 345 -- 369 nodig hebt om het te laten werken (zonder langzame operators:$where , $regex ) u kunt een extra veld maken en daar de eerste 3 nummers (netnummer) van de telefoon opslaan. En gebruik dan de zoekopdracht voorgesteld door @yi _H , hier nogmaals c# driver realisatie:

var query = Query.GTE("PhoneAreaCode", 345).LTE(369);

Geef niet om extra veld in Mongodb -- het is gebruikelijk. Extra velden werken gewoonlijk sneller dan welke berekening dan ook tijdens het opvragen.



  1. Fout bij het uitvoeren van mongo-afbeelding - docker-entrypoint.sh:regel 381

  2. Vervaldatum toevoegen aan Redis Cache

  3. Vreemd gedrag van MongoDB LINQ-provider voor velden met de naam id

  4. Probleem met het gebruik en uitvoeren van brouwservices begint [email protected]