Chọn một cấu trúc dữ liệu

Hãy nhớ rằng khi tạo cấu trúc dữ liệu trong Cloud Firestore, bạn có một số lựa chọn:

  • Tài liệu
  • Nhiều bộ sưu tập
  • Tập hợp con trong tài liệu

Cân nhắc các ưu điểm của từng tuỳ chọn khi chúng liên quan đến trường hợp sử dụng của bạn. Một số cấu trúc mẫu cho dữ liệu phân cấp được nêu trong hướng dẫn này.

Dữ liệu lồng trong tài liệu

Bạn có thể lồng các đối tượng phức tạp như mảng hoặc bản đồ trong tài liệu.

  • Lợi thế: Nếu bạn có các danh sách dữ liệu cố định, đơn giản mà bạn muốn lưu giữ trong tài liệu, thì bạn có thể dễ dàng thiết lập và đơn giản hoá cấu trúc dữ liệu.
  • Hạn chế: Phương thức này không mở rộng được như các phương thức khác, đặc biệt là nếu dữ liệu của bạn mở rộng theo thời gian. Với danh sách lớn hơn hoặc ngày càng tăng, tài liệu cũng tăng lên, điều này có thể dẫn đến thời gian truy xuất tài liệu chậm hơn.
  • Trường hợp sử dụng có thể có là gì? Ví dụ: trong một ứng dụng trò chuyện, bạn có thể lưu trữ 3 phòng trò chuyện mà người dùng đã truy cập gần đây nhất dưới dạng danh sách lồng nhau trong hồ sơ của họ.
  • alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

Bộ sưu tập con

Bạn có thể tạo các bộ sưu tập trong tài liệu khi có dữ liệu có thể mở rộng theo thời gian.

  • Ưu điểm: Khi danh sách của bạn phát triển, kích thước của tài liệu mẹ sẽ không thay đổi. Bạn cũng có đầy đủ chức năng truy vấn trên các bộ sưu tập con và có thể đưa ra truy vấn nhóm bộ sưu tập trên các bộ sưu tập con.
  • Hạn chế: Bạn không thể dễ dàng xoá các bộ sưu tập phụ.
  • Trường hợp sử dụng có thể có là gì? Ví dụ: trong cùng một ứng dụng trò chuyện, bạn có thể tạo các bộ sưu tập người dùng hoặc tin nhắn trong tài liệu phòng trò chuyện.
  • science
    • phần mềm
        tên : "software chat"
      • người dùng
        • alovelace
              first : "Ada"
              last : "Lovelace"
        • sride
              first : "Sally"
              last : "Ride"`


    • thiên văn học
      • ...

Bộ sưu tập cấp gốc

Tạo các tập hợp ở cấp gốc của cơ sở dữ liệu để sắp xếp các tập dữ liệu khác nhau.

  • Ưu điểm: Bộ sưu tập cấp gốc phù hợp với mối quan hệ nhiều với nhiều và cung cấp khả năng truy vấn mạnh mẽ trong mỗi bộ sưu tập.
  • Hạn chế: Việc lấy dữ liệu có hệ phân cấp tự nhiên có thể ngày càng phức tạp khi cơ sở dữ liệu của bạn phát triển.
  • Trường hợp sử dụng có thể có là gì? Ví dụ: trong cùng một ứng dụng trò chuyện, bạn có thể tạo một bộ sưu tập cho người dùng và một bộ sưu tập khác cho phòng và tin nhắn.
  • người dùng
    • alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • sride
          tên : "Sally"
          họ : "Ride"
          sinh năm : 1951
  • phòng
    • Phần mềm
      • tin nhắn
        • message1
              from : "alovelace"
              content : "..."
        • message2
              from : "sride"
              content : "..."