sql >> Database teknologi >  >> NoSQL >> MongoDB

Sammenlign mellem 2 felter i et dokument i MongoDB

Du finder masser af eksempler på brug af $where-operatøren til dette, men aggregeringsrammen kan gøre dette for dig ...

db.collection.aggregate([
    {
        "$addFields": {
            "isPayableAmountGreater": { "$cmp": [ "$payable_amount", "$paid_amount" ] }
        }
    },
    { "$match": { "isPayableAmountGreater": 1 } }
])

Eller endnu enklere og uden at skabe den (sandsynligvis uønskede) isPayableAmountGreater kvasi-attribut:

db.collection.aggregate([
    {
        "$redact": {
            "$cond": [
                { "$gt": [ "$payable_amount", "$paid_amount" ] },
                "$$KEEP",
                "$$PRUNE"
            ]
        }
    }
])



  1. FEJL:underordnet proces mislykkedes, afsluttet med fejlnummer 48

  2. Hvorfor kan jeg ikke opdatere til den seneste MongoDB med Homebrew?

  3. Hvordan laver man tekstsøgning i mgo?

  4. Redis:Returnerer alle værdier gemt i en database