Một cái gì đó như thế này sẽ hoạt động từ trình bao mongo:
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) } }
)
}
})
Nó lặp qua từng tài liệu, sử dụng isNaN
như bạn đã đề xuất, sau đó $sets
giá trị của parseFloat
giá trị cho tài liệu hiện tại.