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

Byg denne LEFT() SQL i MongoDB-forespørgsel?

Hvis du bare vil have et telefonnummer, der starter fra nummer '3', kan du bare bruge smart beslutning fra @mstearn , her kun c# realisation:

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

Men lad os sige, hvis du har brug for at forespørge de første 3 numre i området 345 - 369 for at få det til at fungere (uden langsomme operatorer:$where , $regex ) kan du oprette et ekstra felt og gemme de første 3 numre (områdenummer) på telefonen. Og brug derefter forespørgsel foreslået af @yi _H , her igen c# driver realisation:

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

Er ligeglad med ekstra felt i mongodb -- det er almindelig praksis. Ekstra felter fungerer normalt hurtigere end nogen beregning under forespørgsel.



  1. MongoDB Gem regulære udtryk som e-mail-adresse, brugernavn

  2. Hvordan fjerner man _id i MongoDB og erstatter med et andet felt som en primær nøgle?

  3. Brug $strLenCP med Spring Data MongoDB

  4. Hvordan laver man selektiv Mongo-gendannelse?