sql >> Databáze >  >> NoSQL >> MongoDB

Sestavit tento LEFT() SQL v dotazu MongoDB?

Pokud chcete pouze telefonní číslo, které začíná číslem '3', stačí použít chytré rozhodnutí @mstearn , zde pouze c# realizace:

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

Ale řekněme, že potřebujete dotaz na první 3 čísla v rozsahu 345 – 369, aby to fungovalo (bez pomalých operátorů:$where , $regex ) můžete vytvořit další pole a uložit do něj první 3 čísla (kód oblasti) telefonu. A pak použijte dotaz navržený @yi _H , zde opět realizace c# ovladače:

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

Nestarejte se o navíc pole v mongodb -- je to běžná praxe. Další pole obvykle pracují rychleji než jakýkoli výpočet během dotazování.



  1. nelze provést odpočinkový hovor

  2. 5 způsobů, jak získat hodinu z rande v MongoDB

  3. Mapa Omezte druh dotazu s potřebou korelovat s předchozím řádkem

  4. Závažná chyba:Nezachycená výjimka „RedisException“ se zprávou „Server Redis odešel“