Pokud chcete pouze telefonní číslo, které začíná číslem '3', stačí použít chytré rozhodnutí @mstearn , zde pouze c# realizace:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Ale řekněme, že potřebujete dotaz na první 3 čísla v rozsahu 345 – 369, aby to fungovalo (bez pomalých operátorů:$where
, $regex
) můžete vytvořit další pole a uložit do něj první 3 čísla (kód oblasti) telefonu. A pak použijte dotaz navržený @yi _H , zde opět realizace c# ovladače:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Nestarejte se o navíc pole v mongodb -- je to běžná praxe. Další pole obvykle pracují rychleji než jakýkoli výpočet během dotazování.