1. String

String là kiểu dữ liệu cơ bản để lưu trữ văn bản. Nó có thể chứa bất kỳ ký tự nào và được bao bọc trong dấu nháy kép hoặc đơn.

{
  "name": "Alice"
}

2. Integer

Integer được sử dụng để lưu trữ số nguyên. MongoDB hỗ trợ nhiều kích thước số nguyên, bao gồm 32-bit và 64-bit.

{
  "age": 30
}

3. Double

Double là kiểu dữ liệu số thực được sử dụng để lưu trữ các giá trị số có phần thập phân.

{
  "price": 19.99
}

4. Boolean

Boolean chỉ có hai giá trị là true hoặc false. Kiểu dữ liệu này thường được sử dụng để lưu trữ các giá trị nhị phân.

{
  "isActive": true
}

5. Array

Array là kiểu dữ liệu cho phép lưu trữ một danh sách các giá trị, có thể là bất kỳ kiểu dữ liệu nào, bao gồm cả các document lồng nhau.

{
  "skills": ["JavaScript", "MongoDB", "Node.js"]
}

6. Object

Object (hay Document) là kiểu dữ liệu cho phép lưu trữ các cặp key-value, có thể chứa nhiều trường dữ liệu khác nhau, bao gồm cả các document lồng nhau.

{
  "address": {
    "street": "123 Main St",
    "city": "New York"
  }
}

7. Null

Null được sử dụng để biểu thị một trường không có giá trị. Nó có thể được sử dụng trong các tình huống mà giá trị không xác định hoặc không áp dụng.

{
  "middleName": null
}

8. Date

Date là kiểu dữ liệu dùng để lưu trữ thời gian và ngày tháng. MongoDB sử dụng định dạng BSON Date.

{
  "createdAt": new Date("2024-10-01T10:00:00Z")
}

9. ObjectId

ObjectId là một kiểu dữ liệu đặc biệt được sử dụng làm định danh duy nhất cho các document trong MongoDB. Nó thường được sử dụng làm giá trị cho trường _id.

{
  "_id": ObjectId("507f191e810c19729de860ea")
}

10. Binary Data

Binary Data là kiểu dữ liệu được sử dụng để lưu trữ các tệp nhị phân, chẳng hạn như hình ảnh hoặc video.

{
  "file": new BinData(0, "base64-encoded-data")
}

11. Regular Expression

Regular Expression (RegEx) là kiểu dữ liệu cho phép lưu trữ biểu thức chính quy, thường được sử dụng để tìm kiếm văn bản.

{
  "pattern": /abc/i
}

Kết luận

Việc hiểu và sử dụng đúng các kiểu dữ liệu này trong MongoDB sẽ giúp bạn thiết kế và tối ưu hóa cơ sở dữ liệu của mình một cách hiệu quả. Sự linh hoạt trong lưu trữ dữ liệu cho phép bạn phát triển các ứng dụng phức tạp mà vẫn dễ dàng quản lý.