sql >> Databáze >  >> NoSQL >> MongoDB

Mongo převede všechna číselná pole, která jsou uložena jako řetězec

Něco takového by mělo fungovat z mongo shellu:

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

Prochází každý dokument, používá isNaN jak jste navrhli, pak $sets hodnotu do parseFloat hodnotu pro aktuální dokument.



  1. Aplikaci se nepodařilo spustit (port 8080) není k dispozici

  2. Oznámení ClusterControl 1.7.1:Podpora pro PostgreSQL 11 a MongoDB 4.0, vylepšené monitorování

  3. vnořená výjimka je redis.clients.jedis.exceptions.JedisConnectionException:Nelze získat zdroj z fondu

  4. Aktualizace MongoDB()