Jeśli potrzebujesz tylko numeru telefonu, który zaczyna się od cyfry „3”, możesz po prostu użyć mądrej decyzji @mstearn , tutaj tylko realizacja c#:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Ale powiedzmy, czy potrzebujesz zapytania o pierwsze 3 liczby z zakresu 345 - 369, aby zadziałało (bez wolnych operatorów:$where
, $regex
) możesz utworzyć dodatkowe pole i zapisać tam pierwsze 3 numery (numer kierunkowy) telefonu. A następnie użyj zapytania zaproponowanego przez @yi _H , tutaj znowu realizacja sterownika c#:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Nie przejmuj się dodatkowym pole w mongodb - to powszechna praktyka. Dodatkowe pola zwykle działają szybciej niż jakiekolwiek obliczenia podczas zapytania.