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

mongodb come interrogare la stringa di somma?

Questo non è possibile a partire da MongoDB 3.4. Questa funzionalità è già stata richiesta, ma non è stata ancora implementata:

È necessario un meccanismo di conversione del tipo per convertire tra stringhe e numeri

Quindi l'unico modo per risolvere il tuo problema è eseguire manualmente la somma totalAmount in javascript...

Modifica

Questo è ora possibile in MongoDB 4.0 che ha introdotto l'operatore per convertire da un tipo all'altro, ad esempio $toDouble

quindi la query sarebbe:

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

puoi provarlo qui:mongoplayground.net/p/4zJTPU912Es