MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Construire cette requête SQL LEFT() dans MongoDB ?

Si vous voulez juste un numéro de téléphone qui commence à partir du numéro '3', vous pouvez simplement utiliser la décision intelligente de @mstearn , ici juste la réalisation c# :

var query = Query.EQ("PhoneNumber", new BsonRegularExpression("^3"));

Mais disons si vous avez besoin d'interroger les 3 premiers nombres dans la plage 345 à 369 pour que cela fonctionne (sans opérateurs lents :$where , $regex ) vous pouvez créer un champ supplémentaire et y stocker les 3 premiers numéros (indicatif régional) du téléphone. Et puis utilisez la requête proposée par @yi _H , ici encore réalisation du pilote c# :

var query = Query.GTE("PhoneAreaCode", 345).LTE(369);

Ne vous souciez pas des suppléments champ dans mongodb - c'est une pratique courante. Les champs supplémentaires fonctionnent généralement plus rapidement que n'importe quel calcul lors de la requête.