MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Costruisci questo SQL LEFT() nella query MongoDB?

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.