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.