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.