sql >> Databasteknik >  >> NoSQL >> MongoDB

Filtrera dollarvärden med mongodb

Jag skulle också vilja inleda detta med att säga att det är en dålig idé att lagra numeriska värden i din databas formaterade för presentation som strängar, vilket du säkert redan vet.

Med det ur vägen, här är sammanställningen du letar efter:

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

Tanken är att ersätta $ och , med tomma strängar och kasta sedan de resulterande strängarna till heltal. Från den punkten är det bara en enkel fråga att matcha de numeriska värdena.Lekplats:https://mongoplayground. net/p/YU65M-q1QCM



  1. spring-data-mongodb ger undantag för mongodb-autentisering

  2. Skapar en vyfunktion utan att returnera ett svar i Flask

  3. expire redis cache-nyckel vid vissa timmar snarare än varaktighet

  4. Det går inte att ansluta till MongoDB Atlas med Mongoose med anslutningssträng