sql >> Databasteknik >  >> NoSQL >> MongoDB

Bygga denna LEFT() SQL i MongoDB Query?

Om du bara vill ha ett telefonnummer som börjar från nummer '3' kan du bara använda smart beslut av @mstearn , här bara c# realisation:

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

Men låt oss säga om du behöver fråga de första 3 siffrorna i intervallet 345 - 369 för att få det att fungera (utan långsamma operatorer:$where , $regex ) kan du skapa ytterligare fält och lagra där de tre första numren (riktnummer) på telefonen. Och använd sedan frågan föreslagen av @yi _H , här igen c# drivrutinsförverkligande:

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

Bry dig inte om extra fält i mongodb -- det är vanligt. Extra fält fungerar vanligtvis snabbare än någon beräkning under sökning.



  1. Mongoose .save() sparas inte i databasen?

  2. Infoga nytt dokument med InsertOneAsync (.NET Driver 2.0)

  3. Analog för group concat i sql

  4. grupp MongoDB-insamling efter månad och aggregerad intäkt för churn/intäktsdiagram