MongoDB tip, identify and convert type of a specific field
I found this post when I encountered some type issue and the better solution seems to be to convert the type in place. So I just did a quick experiment myself to make sure it works properly. to set up this experiment, first run db.testConvert.insert({typeField:NumberLong(1)}); db.testConvert.insert({typeField:NumberInt(1)}); db.testConvert.insert({typeField:1}); We verify now typeField has contain all three types, Int64, Int32, and Double Referencing from BSON type documentation, we know that Double is 1. Then we run the following var bulk = db.testConvert.initializeUnorderedBulkOp(), count=0; db.testConvert.find({"typeField":{"$type":1}}).forEach(function(doc) { bulk.find({"_id":doc._id}).updateOne({ "$set":{"tmpField":NumberLong(doc.typeField.valueOf())}, "$unset":{"typeField":1} }); bulk.find({"_id": doc._id}).updateOne({ "$rename": { ...