Se você quiser apenas o número de telefone que começa no número '3', basta usar a decisão inteligente de @mstearn , aqui apenas c# realização:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Mas digamos que você precise consultar os primeiros 3 números no intervalo 345 -- 369 para fazê-lo funcionar (sem operadores lentos:
$where
, $regex
) você pode criar um campo adicional e armazenar lá os primeiros 3 números (código de área) do telefone. E então use a consulta proposta por @yi _H , aqui novamente a realização do driver c#:var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Não se importe com extra campo no mongodb - é uma prática comum. Campos extras normalmente funcionando mais rápido do que qualquer cálculo durante a consulta.