Om du bara vill ha ett telefonnummer som börjar från nummer '3' kan du bara använda smart beslut av @mstearn , här bara c# realisation:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Men låt oss säga om du behöver fråga de första 3 siffrorna i intervallet 345 - 369 för att få det att fungera (utan långsamma operatorer:$where
, $regex
) kan du skapa ytterligare fält och lagra där de tre första numren (riktnummer) på telefonen. Och använd sedan frågan föreslagen av @yi _H , här igen c# drivrutinsförverkligande:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Bry dig inte om extra fält i mongodb -- det är vanligt. Extra fält fungerar vanligtvis snabbare än någon beräkning under sökning.