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

Mongo Прехвърляне на низ към номер за заявка

Актуализация (валидна от MongoDB v4.0 нататък):

Можете да използвате комбинация от $expr и $toDouble за постигане на желаното поведение по следния начин:

db.MyCollection.find({ $expr: { $lte: [ { $toDouble: "$Price" }, 1000.0 ] } })

Оригинален отговор (MongoDB v3.6 и по-долу):

MongoDB не може да конвертира низове в числа. Така че единствената ви възможност тук е да използвате страховития $where оператор:

db.MyCollection.find({ $where: "parseInt(this.Price) <= 1000" })

Това няма да използва никакви индекси и не е много бързо, но може би е добре за малки колекции.

Въпреки това бих препоръчал да съхранявате числа като числови типове. Така че трябва да конвертирате своя string s към int s или long s (или вероятно double s even), както е показано тук: как да конвертирате низ в числени стойности в mongodb




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Монгос Инсталиране/настройка в Elastic Beanstalk

  2. Как да предотвратите добавянето на множество документи към базата данни на mongodb

  3. Как да запазя масив от входове към дъщерна схема във вложена мангустова схема?

  4. Изтриване на вложени полета от всички/множество документи в колекция - NodeJS + MongoDB

  5. Mongodb Query:Последен запис по дата за всеки елемент