NumberInt() ใช้ระบุ integer 32-bit ชัดเจน (MongoDB shell default เป็น 64-bit float) สร้างคอลเลกชันตัวอย่าง:
> db.demo357.insertOne({
"FirstName" : "Chris", "Age" : 21,
"details" : { "studentDetails" : { "id" : NumberInt(101) } }
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e568fa6f8647eb59e5620c9") }
> db.demo357.insertOne({
"FirstName" : "David", "Age" : 23,
"details" : { "studentDetails" : { "id" : NumberInt(110) } }
});
{ "acknowledged" : true, "insertedId" : ObjectId("5e568fbaf8647eb59e5620ca") }
แสดงข้อมูล:
> db.demo357.find();
ค้นหาเอกสารที่ details.studentDetails.id = NumberInt(110):
> db.demo357.find({"details.studentDetails.id":NumberInt(110)});
ผลลัพธ์:
{ "_id" : ObjectId("5e568fbaf8647eb59e5620ca"), "FirstName" : "David", "Age" : 23, "details" : { "studentDetails" : { "id" : 110 } } }
ข้อมูลเกี่ยวกับ Number Types ใน MongoDB
NumberInt(): 32-bit signed integer (-2^31 ถึง 2^31-1)NumberLong(): 64-bit signed integerNumberDecimal(): 128-bit decimal (high precision)- MongoDB shell ค่าเลข default เป็น double (64-bit float)
- การ query:
NumberInt(110)จับคู่ได้กับค่า 110 ทุกประเภท (int, long, double) - ใน driver ต่างๆ ใช้ native integer type ของภาษานั้น