MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongo konvertiert alle numerischen Felder, die als Zeichenfolge gespeichert sind

So etwas sollte von der Mongo-Shell aus funktionieren:

db.yourCollection.find({}).forEach(function(doc) { 
    if(isNaN(doc.xyz)) { 
        print('found string: ' + doc._id);
        db.yourCollection.update( 
           { _id: doc._id}, 
           { $set : { "xyz" : parseFloat(doc.xyz) } }
        )
    }
})

Es durchläuft jedes Dokument, verwendet isNaN wie Sie vorgeschlagen haben, dann $sets den Wert in parseFloat Wert für das aktuelle Dokument.