Ако просто искате телефонен номер, който започва от номер „3“, можете просто да използвате интелигентното решение на @mstearn , тук само C# реализация:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Но да речем, че ако имате нужда от заявка за първите 3 числа в диапазона 345 - 369, за да работи (без бавни оператори:$where
, $regex
) можете да създадете допълнително поле и да съхранявате там първите 3 номера (кода на региона) на телефона. След това използвайте заявката, предложена от @yi _H , тук отново c# реализация на драйвер:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Не се интересувайте от допълнително поле в mongodb - това е обичайна практика. Допълнителните полета обикновено работят по-бързо от всяко изчисление по време на заявка.