Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

แปลงสตริงเป็นค่าตัวเลขใน MongoDB

ใช้ parseInt() (หรือ parseFloat()) ร่วมกับ forEach() และ update() เพื่อแปลงค่าสตริงเป็นตัวเลขในฟิลด์ที่ต้องการ

ตัวอย่างการใช้งาน

สร้างคอลเลกชัน convertStringToNumberDemo (EmployeeId เป็นสตริง):

> db.convertStringToNumberDemo.insertOne({"EmployeeId":"101","EmployeeName":"Larry"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c7f56528d10a061296a3c31") }
> db.convertStringToNumberDemo.insertOne({"EmployeeId":"1120","EmployeeName":"Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c7f56648d10a061296a3c32") }
> db.convertStringToNumberDemo.insertOne({"EmployeeId":"3210","EmployeeName":"Sam"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c7f566e8d10a061296a3c33") }

แสดงข้อมูลก่อนแปลง:

> db.convertStringToNumberDemo.find().pretty();
{"_id" : ObjectId("5c7f56528d10a061296a3c31"), "EmployeeId" : "101", "EmployeeName" : "Larry" }
{"_id" : ObjectId("5c7f56648d10a061296a3c32"), "EmployeeId" : "1120", "EmployeeName" : "Mike" }
{"_id" : ObjectId("5c7f566e8d10a061296a3c33"), "EmployeeId" : "3210", "EmployeeName" : "Sam" }

คำสั่งแปลง EmployeeId จากสตริงเป็นตัวเลข:

> db.convertStringToNumberDemo.find().forEach(function(x)
... {
... db.convertStringToNumberDemo.update
... (
... { "_id": x._id },
... { "$set": { "EmployeeId": parseInt(x.EmployeeId) } }
... )
... }
... );

ตรวจสอบผลลัพธ์ (EmployeeId กลายเป็นตัวเลข):

> db.convertStringToNumberDemo.find().pretty();
{"_id" : ObjectId("5c7f56528d10a061296a3c31"), "EmployeeId" : 101, "EmployeeName" : "Larry" }
{"_id" : ObjectId("5c7f56648d10a061296a3c32"), "EmployeeId" : 1120, "EmployeeName" : "Mike" }
{"_id" : ObjectId("5c7f566e8d10a061296a3c33"), "EmployeeId" : 3210, "EmployeeName" : "Sam" }