Để chuyển chuỗi số thành kiểu số, sử dụng parseInt() trong mongo shell kết hợp forEach() và save(). Tạo collection:
> db.demo208.insertOne( { "value":"50" } );
{ "acknowledged" : true, "insertedId" : ObjectId("5e3d92d803d395bdc21346f6") }
> db.demo208.insertOne( { "value":"2350" } );
{ "acknowledged" : true, "insertedId" : ObjectId("5e3d92dd03d395bdc21346f7") }
Hiển thị - value là string:
> db.demo208.find();
Chuyển đổi và lưu lại:
> db.demo208.find().forEach( function (doc) { doc.value = parseInt(doc.value); db.demo208.save(doc); });Kết quả sau chuyển đổi - value thành number:
> db.demo208.find();Lưu ý: Cách này chạy ở client-side (mongo shell). Từ MongoDB 4.0+, có thể dùng
$toInttrong aggregation pipeline để chuyển đổi server-side mà không cần cập nhật dữ liệu gốc. Ví dụ:{$project: {value: {$toInt: "$value"}}}.