sql >> Database >  >> NoSQL >> MongoDB

mongodb hoe de somtekenreeks opvragen?

Dit is niet mogelijk vanaf MongoDB 3.4. Deze functie is al aangevraagd, maar nog niet geïmplementeerd:

Een typeconversiemechanisme nodig om te converteren tussen tekenreeksen en getallen

Dus de enige manier om uw probleem op te lossen is om de totalAmount-som handmatig in javascript uit te voeren...

Bewerken

Dit is nu mogelijk in MongoDB 4.0 die operator introduceerde om van het ene type naar het andere te converteren, bijvoorbeeld $toDouble

dus de vraag zou zijn:

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

je kunt het hier proberen:mongoplayground.net/p/4zJTPU912Es




  1. Vind de som van velden in de array in MongoDB

  2. Hoe te aggregeren op enorme array in mongoDB?

  3. Mongo JSON-document -> JSON -> BSON

  4. Mongo-array converteren naar object met sleutel-waardepaar