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

Porównaj 2 pola dokumentu w MongoDB

Znajdziesz wiele przykładów użycia operatora $where w tym celu, ale framework agregacji może to zrobić za Ciebie ...

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

Lub jeszcze prościej i bez tworzenia (prawdopodobnie niechcianego) isPayableAmountGreater quasi atrybut:

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Dlaczego otrzymuję mongoose.connect nie jest funkcją podczas próby połączenia z mangoose?

  2. Wyjątek GSS:nie podano prawidłowych poświadczeń (poziom mechanizmu:nie udało się znaleźć żadnego tagu Kerberos)

  3. MongoDB $indexOfCP

  4. Mongo grupuje i naciska:pchanie wszystkich pól

  5. Wyraźna agregacja Mongo