MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

mongodb comment interroger la chaîne de somme?

Ce n'est plus possible depuis MongoDB 3.4. Cette fonctionnalité a déjà été demandée, mais n'a pas encore été implémentée :

Besoin d'un mécanisme de conversion de type pour convertir entre les chaînes et les nombres

Donc, la seule façon de résoudre votre problème est d'effectuer manuellement la somme totalAmount en javascript...

Modifier

C'est maintenant possible dans MongoDB 4.0 quel opérateur introduit pour convertir d'un type à un autre, par exemple $toDouble

donc la requête serait :

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

vous pouvez l'essayer ici :mongoplayground.net/p/4zJTPU912Es