Chỉ cần một câu hỏi nhanh về thiết kế một schema FireStore:schema với thiết kế của Cloud FireStore nhiều-nhiều và chéo các mối quan hệ thực thể
Tôi biết bạn Gotta Sử dụng đúng công cụ cho công việc, và FireStore là không được phép là một cơ sở dữ liệu quan hệ, nhưng liệu có các kỹ thuật gợi ý để mô hình hóa nhiều mối quan hệ?
Ex:
Tôi muốn xây dựng một ứng dụng quản lý tài sản nơi
công ty sở hữu Properties, có chứa đơn vị. Hệ thống phân cấp đơn giản ở đây.
Vì vậy, Người thuê sẽ thuê nhiều Đơn vị theo thời gian và mỗi Đơn vị sẽ có nhiều người thuê theo thời gian .. tất cả được đóng gói bằng Hợp đồng thuê 1 Đơn vị cho 1 hoặc nhiều Khách thuê.
Các đơn vị có thể sở hữu Thuê tôi đoán, nhưng làm cách nào Người thuê xem tất cả các Hợp đồng thuê của họ theo thời gian .. Nên thuê có bộ sưu tập phụ tham chiếu Người thuê nhà .. Người thuê có cao nhất không?
Chỉ cần tìm một số đề xuất cơ bản ..
Hoặc tốt hơn là chỉ sử dụng GraphQL với cơ sở dữ liệu quan hệ?
Vì vậy, ở đây bạn về cơ bản có một đối tượng 'người thuê nhà 'trong tài liệu của bạn ngay, và bạn đang truy vấn trên' tenants.cdock'. Điều này có nghĩa là Firestore có khả năng lập chỉ mục trên các thuộc tính lồng nhau này không? –
Tôi đã cố gắng làm một cái gì đó tương tự nhưng khi truy vấn Firestore nói với tôi rằng nó cần phải tạo ra một chỉ mục đầu tiên, và muốn lập chỉ mục mọi khóa có thể có như 'tenants.cdock', 'tenants.alice' vv. tên người thuê nhà ở đây, vì vậy tôi không thể lập chỉ mục tất cả trước khi truy vấn. Làm thế nào để bạn có được xung quanh này? –
@ThijsKoerselman có thông tin trong tài liệu về điều này, trong trường hợp bạn chưa tìm thấy nó: https://firebase.google.com/docs/FireStore/giải pháp/mảng # solution_a_map_of_values Bạn mã hóa thông tin ở những cấu trúc dữ liệu, chẳng hạn như một dấu thời gian như giá trị đến khóa: ' 'thuê': { 'cdock': 1502144665, 'alice ': 1502144665, ' bob ': 1502144665 } ' ít nhất cho phép bạn có khả năng truy vấn phạm vi trên các thuộc tính này .. – cdock