MongoDB là một cơ sở dữ liệu NoSQL sử dụng tài liệu, cho phép lưu trữ và quản lý dữ liệu theo dạng tài liệu JSON. Trong MongoDB, các kiểu dữ liệu đóng vai trò quan trọng trong việc xác định cấu trúc của tài liệu và cách dữ liệu được lưu trữ. Dưới đây là các kiểu dữ liệu chính trong MongoDB và cách chúng được sử dụng:

Các kiểu dữ liệu chính trong MongoDB

Kiểu dữ liệu cơ bản

  1. String:
    • Đây là kiểu dữ liệu phổ biến nhất để lưu trữ dữ liệu văn bản.
    • Ví dụ: "name": "John Doe"
  2. Integer:
    • Được sử dụng để lưu trữ số nguyên.
    • Ví dụ: "age": 30
  3. Double:
    • Dùng để lưu trữ số thực.
    • Ví dụ: "price": 19.99
  4. Boolean:
    • Lưu trữ giá trị đúng (true) hoặc sai (false).
    • Ví dụ: "isActive": true
  5. Null:
    • Dùng để đại diện cho giá trị không tồn tại hoặc không xác định.
    • Ví dụ: "middleName": null
  6. Array:
    • Lưu trữ một danh sách các giá trị.
    • Ví dụ: "tags": ["mongodb", "database", "nosql"]
  7. Object:
    • Dùng để lưu trữ một đối tượng phức tạp, có thể chứa nhiều cặp key-value.
    • Ví dụ:
"address": {
  "street": "123 Main St",
  "city": "New York",
  "state": "NY"
}

Kiểu dữ liệu phức tạp

  1. ObjectId:
    • Là một kiểu dữ liệu đặc biệt được sử dụng để xác định một tài liệu một cách duy nhất trong một bộ sưu tập.
    • MongoDB tự động tạo ra ObjectId khi một tài liệu mới được chèn vào.
    • Ví dụ: "_id": ObjectId("507f1f77bcf86cd799439011")
  2. Date:
    • Dùng để lưu trữ thời gian và ngày tháng.
    • Ví dụ: "createdAt": new Date()
  3. Binary Data:
    • Lưu trữ dữ liệu nhị phân, thường được sử dụng cho hình ảnh hoặc tệp tin.
    • Ví dụ: "image": BinData(0,"...")
  4. Regular Expression:
    • Dùng để lưu trữ biểu thức chính quy, thường được sử dụng trong các tìm kiếm.
    • Ví dụ: "pattern": /test/i

Cách sử dụng các kiểu dữ liệu trong MongoDB

Tạo tài liệu với các kiểu dữ liệu

Khi bạn tạo một tài liệu trong MongoDB, bạn có thể sử dụng các kiểu dữ liệu khác nhau để định nghĩa cấu trúc dữ liệu. Ví dụ:

db.users.insertOne({
  name: "Alice",
  age: 25,
  isActive: true,
  interests: ["reading", "traveling"],
  address: {
    city: "Paris",
    country: "France"
  },
  createdAt: new Date()
});

Truy vấn với các kiểu dữ liệu

Khi bạn thực hiện các truy vấn, bạn cũng có thể sử dụng các kiểu dữ liệu để tìm kiếm và lọc tài liệu. Ví dụ:

db.users.find({
  age: { $gt: 20 },
  isActive: true
});

Cập nhật tài liệu

Bạn có thể cập nhật tài liệu bằng cách sử dụng các kiểu dữ liệu để thay đổi giá trị của các trường. Ví dụ:

db.users.updateOne(
  { name: "Alice" },
  { $set: { age: 26, interests: ["reading", "traveling", "cooking"] } }
);

Kết luận

Các kiểu dữ liệu trong MongoDB rất đa dạng và linh hoạt, cho phép bạn lưu trữ và quản lý dữ liệu một cách hiệu quả. Bằng cách hiểu và sử dụng các kiểu dữ liệu này, bạn có thể tối ưu hóa cơ sở dữ liệu của mình cho các ứng dụng và yêu cầu cụ thể.