MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Filtrowanie wartości w dolarach za pomocą mongodb

Chciałbym również poprzedzić to stwierdzeniem, że przechowywanie wartości liczbowych w bazie danych sformatowanych do prezentacji jako ciągi znaków jest złym pomysłem, który bez wątpienia już znasz.

Pomijając to, oto agregacja, której szukasz:

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

Pomysł polega na zastąpieniu $ i , z pustymi ciągami, a następnie rzutuj powstałe ciągi na liczby całkowite. Od tego momentu wystarczy tylko dopasować wartości liczbowe. Plac zabaw:https://mongoplayground. netto/p/YU65M-q1QCM



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongoose:CastError:Cast to ObjectId nie powiodło się dla wartości „me” w ścieżce „_id”

  2. Agregacja MongoDB - $grupuj według daty, nawet jeśli nie istnieje

  3. Przewodnik po wdrożeniu i utrzymaniu MongoDB za pomocą Puppet:część 2

  4. Cursor.nextObject Mongo Czasami błędnie zwraca wartość Null?

  5. Jak filtrować dokumenty na podstawie wbudowanej tablicy?