MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Construir este SQL LEFT() na consulta do MongoDB?


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.