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

mongodb jak se dotazovat na řetězec součtu?

To není možné od MongoDB 3.4. Tato funkce již byla požadována, ale ještě nebyla implementována:

Potřebujete mechanismus převodu typů pro převod mezi řetězci a čísly

Takže jediný způsob, jak vyřešit váš problém, je ručně provést součet totalAmount v javascriptu...

Upravit

To je nyní možné v MongoDB 4.0 který zavedl operátor pro převod z jednoho typu na druhý, například $toDouble

takže dotaz by byl:

db.collection.aggregate([
  {
    "$group": {
      "_id": null,
      "totalAmount": {
        "$sum": {
          "$toDouble": "$orderTotal.amount"
        }
      },
      "count": {
        "$sum": 1
      }
    }
  }
])

můžete to zkusit zde:mongoplayground.net/p/4zJTPU912Es




  1. Členský stát sady replik MongoDB je JINÝ

  2. Aktualizace velkého počtu záznamů v kolekci

  3. Aktualizace pole Mongo nebo vložení jednoho dotazu

  4. Čtení DBname.system.indexes selhalo na clusteru Atlas pomocí mongobee po připojení