MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Memfilter nilai dolar dengan mongodb

Saya juga ingin mengawali ini dengan mengatakan bahwa menyimpan nilai numerik dalam database Anda yang diformat untuk presentasi sebagai string adalah ide yang buruk, yang pasti sudah Anda ketahui.

Dengan itu, inilah agregasi yang Anda cari:

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
      }
    }
  }
])

Idenya adalah untuk mengganti $ dan , dengan string kosong dan kemudian melemparkan string yang dihasilkan ke bilangan bulat. Sejak saat itu, ini hanya masalah sederhana untuk mencocokkan nilai numerik. Playground:https://mongoplayground. net/p/YU65M-q1QCM



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoExport Terlalu banyak pilihan posisi

  2. MongoDB $min Agregasi Pipeline Operator

  3. Denormalisasi data di MongoDB

  4. Pertanyaan tentang safe=Parameter benar untuk operasi pembaruan mongodb

  5. MongoDB C# Driver 2.0 - Perbarui dokumen