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

Convertir une chaîne en nombre dans la projection MongoDB

L'une des façons auxquelles je peux penser est d'utiliser un javascript mongo shell pour modifier le document en ajoutant un nouveau champ numérique, valuesasnumber (conversion numérique du champ 'valeur' ​​de la chaîne existante) dans le document existant ou dans le nouveau doc. Ensuite, utilisez ce champ numérique pour d'autres calculs.

db.numbertest.find().forEach(function(doc) {
    doc.valueasnumber = new NumberInt(doc.value);
    db.numbertest.save(doc);
});

Utilisation du champ valueasnumber pour le calcul numérique

db.numbertest.aggregate([{$group : 
   {_id : null, 
    "score" : {$avg : "$valueasnumber"}
   }
}]);