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

Филтриране на стойности в долари с mongodb

Бих искал също да предваря това, като кажа, че съхраняването на числови стойности във вашата база данни, форматирани за представяне като низове, е лоша идея, която без съмнение вече знаете.

Като премахнете това, ето агрегацията, която търсите:

db.collection.aggregate([
  {
    "$project": {
      "AppraisedValueDisplay": {
        $replaceAll: {
          input: "$AppraisedValueDisplay",
          find: {
            $literal: "$"
          },
          replacement: ""
        }
      }
    }
  },
  {
    "$project": {
      "AppraisedValueDisplay": {
        "$toInt": {
          $replaceAll: {
            input: "$AppraisedValueDisplay",
            find: ",",
            replacement: ""
          }
        }
      }
    }
  },
  {
    $match: {
      AppraisedValueDisplay: {
        $gt: 30000,
        $lt: 40000
      }
    }
  }
])

Идеята е да се замени $ и , с празни низове и след това преобразувайте получените низове в цели числа. От този момент е просто да съпоставите числовите стойности.Playground:https://mongoplayground. net/p/YU65M-q1QCM



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Вземете стойности като масив от елементи след $lookup

  2. Защо има нарушение на достъпа при свързване към MongoDB от C++?

  3. Как да изберете две стойности на таблица (документ) наведнъж по потребителски идентификатор в mongoose?

  4. Как да получите достъп до oplog MongoDB (набор реплики на MMS)

  5. MongoDB удостоверяването не е активирано на Linux сървър