MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Създайте този LEFT() SQL в MongoDB Query?

Ако просто искате телефонен номер, който започва от номер „3“, можете просто да използвате интелигентното решение на @mstearn , тук само C# реализация:

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

Но да речем, че ако имате нужда от заявка за първите 3 числа в диапазона 345 - 369, за да работи (без бавни оператори:$where , $regex ) можете да създадете допълнително поле и да съхранявате там първите 3 номера (кода на региона) на телефона. След това използвайте заявката, предложена от @yi _H , тук отново c# реализация на драйвер:

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

Не се интересувайте от допълнително поле в mongodb - това е обичайна практика. Допълнителните полета обикновено работят по-бързо от всяко изчисление по време на заявка.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. уникален мангуст:вярно не работи

  2. Mongoose:трябва ли персонализиран _id да бъде деклариран като индекс и да бъде уникален

  3. MongoDB:Рамка за агрегиране:Вземете документ с последна дата за идентификатор на групиране

  4. ServerSelectionTimeoutError при свързване към aws с pymongo

  5. Как да получите този резултат с aggregate в mongoDB