Skip to main content

ประเภทข้อมูลใน MongoDB (MongoDB Data Types)

บทนำ

MongoDB รองรับประเภทข้อมูลที่หลากหลาย เพื่อให้สามารถจัดเก็บข้อมูลได้อย่างยืดหยุ่นและเหมาะสมกับการใช้งาน ประเภทข้อมูลเหล่านี้มีบทบาทสำคัญในการจัดการเอกสารในคอลเลคชัน (Collections)


ประเภทข้อมูลพื้นฐานใน MongoDB

1. String

ใช้สำหรับจัดเก็บข้อความ เช่น ชื่อหรือคำอธิบาย

{ "name": "John Doe" }

2. Number

ใช้สำหรับจัดเก็บตัวเลข MongoDB รองรับทั้งจำนวนเต็มและทศนิยม

  • ตัวอย่างจำนวนเต็ม (Integer):
    { "age": 30 }
  • ตัวอย่างทศนิยม (Double):
    { "price": 19.99 }

3. Boolean

ใช้สำหรับจัดเก็บค่าจริง (true) หรือเท็จ (false)

{ "isActive": true }

4. Array

ใช้สำหรับจัดเก็บข้อมูลหลายค่าในฟิลด์เดียว

{ "tags": ["red", "blue", "green"] }

5. Object

ใช้สำหรับจัดเก็บเอกสารย่อยภายในเอกสารหลัก (Embedded Document)

{
"address": {
"street": "123 Main St",
"city": "Bangkok"
}
}

6. Null

ใช้สำหรับแสดงว่าฟิลด์ไม่มีค่า

{ "middleName": null }

7. Date

ใช้สำหรับจัดเก็บวันที่และเวลา

{ "createdAt": new Date() }

8. ObjectId

เป็นไอดีเอกลักษณ์ที่ MongoDB สร้างขึ้นสำหรับเอกสารแต่ละรายการ

{ "_id": ObjectId("64b7b50c6f2e8b5f3a27c456") }

9. Binary Data

ใช้สำหรับจัดเก็บข้อมูลไบนารี เช่น รูปภาพหรือไฟล์

{ "file": BinData(0, "<binary_data>") }

10. Regular Expression

ใช้สำหรับจัดเก็บนิพจน์ปกติ (Regular Expressions)

{ "pattern": /abc/i }

ประเภทข้อมูลขั้นสูงใน MongoDB

1. Decimal128

ใช้สำหรับจัดเก็บค่าทศนิยมที่มีความแม่นยำสูง

{ "largeDecimal": NumberDecimal("12345.6789") }

2. MinKey และ MaxKey

ใช้สำหรับเปรียบเทียบค่าที่ต่ำที่สุด (MinKey) หรือสูงที่สุด (MaxKey) ใน MongoDB

  • ตัวอย่าง MinKey:
    { "minValue": MinKey() }
  • ตัวอย่าง MaxKey:
    { "maxValue": MaxKey() }

3. Code

ใช้สำหรับจัดเก็บโค้ด JavaScript

{ "script": Code("function() { return true; }") }

4. Timestamp

ใช้สำหรับจัดเก็บเวลาที่มีความแม่นยำสูง เหมาะสำหรับการบันทึกเวลาที่เปลี่ยนแปลงในเอกสาร

{ "modifiedAt": Timestamp() }

ตัวอย่างการใช้งานประเภทข้อมูลในเอกสาร MongoDB

{
"_id": ObjectId("64b7b50c6f2e8b5f3a27c456"),
"name": "John Doe",
"age": 30,
"isActive": true,
"tags": ["developer", "mongoDB", "data"],
"address": {
"street": "123 Main St",
"city": "Bangkok"
},
"createdAt": new Date(),
"price": NumberDecimal("199.99")
}

บทสรุป

การเข้าใจประเภทข้อมูลใน MongoDB เป็นสิ่งสำคัญสำหรับการออกแบบโครงสร้างฐานข้อมูลที่มีประสิทธิภาพ ประเภทข้อมูลที่หลากหลายนี้ช่วยให้คุณสามารถจัดเก็บและประมวลผลข้อมูลได้อย่างยืดหยุ่นและตรงกับความต้องการในงานจริง