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

Mongo konverterer alle numeriske felter, der er gemt som streng

Noget som dette burde virke fra mongo-skallen:

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) } }
        )
    }
})

Den går gennem hvert dokument, bruger isNaN som du foreslog, derefter $sets værdien til parseFloat værdi for det aktuelle dokument.



  1. Node redis-udgiver bruger for meget hukommelse

  2. Node.JS objektprototype må kun være et objekt eller null med Redis

  3. Brug $gte og <e mongo-operatoren, hvis dato er i strengformat i mongodb

  4. Lagring af adgangskoder med Node.js og MongoDB