Se vuoi solo un numero di telefono che inizi dal numero '3' puoi semplicemente usare la decisione intelligente di @mstearn , qui solo c# realizzazione:
var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));
Ma diciamo se hai bisogno di interrogare i primi 3 numeri nell'intervallo 345 -- 369 per farlo funzionare (senza operatori lenti:$where
, $regex
) è possibile creare un campo aggiuntivo e memorizzarvi i primi 3 numeri (prefisso) di telefono. E poi usa la query proposta da @yi _H , anche qui c# realizzazione del driver:
var query = Query.GTE("PhoneAreaCode", 345).LTE(369);
Non preoccuparti di extra field in mongodb -- è una pratica comune. I campi extra funzionano normalmente più velocemente di qualsiasi calcolo durante l'interrogazione.