sql >> Databáze >  >> NoSQL >> MongoDB

Filtrování dolarových hodnot pomocí mongodb

Rád bych to také uvedl na úvod tím, že ukládat číselné hodnoty ve vaší databázi formátované pro prezentaci jako řetězce je špatný nápad, což už nepochybně víte.

S tím mimo, zde je agregace, kterou hledáte:

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

Cílem je nahradit $ a , s prázdnými řetězci a poté přetypovat výsledné řetězce na celá čísla. Od tohoto okamžiku je to jen jednoduchá záležitost shody číselných hodnot. Playground:https://mongoplayground. net/p/YU65M-q1QCM



  1. význam sudo chown -R `id -u` /data/db

  2. Aplikace podobná Twitteru využívající MongoDB

  3. MongoDB C# Driver Serializace s dynamickými objekty

  4. Jak ukládat relace v MongoDB z NodeJS?