2017-10-14 22 views
12

Làm thế nào để bạn thực hiện kết nối giá rẻ với Firestore?Firestore: Tham gia vs giá Firestore

Trong Firebase, tôi sẽ .map() phản hồi và nhận dữ liệu bổ sung dựa trên khóa ngoại được lưu trữ trên mỗi mục. Tuy nhiên, xem xét mô hình định giá của Firestore nơi bạn trả tiền cho mỗi lần đọc, điều này xuất hiện là quá đắt. Bạn nghĩ sao?

Trong trường hợp của tôi, mối quan hệ của tôi là nhiều hành động đối với một số danh mục (khoảng 5 - 7). Mỗi hành động thuộc về một danh mục.

Thực tiễn tốt nhất cho trường hợp này là gì? Tôi có nên tiếp tục làm như trong Firebase không? Hoặc tôi nên lấy cả hai bộ sưu tập một cách độc lập và tham gia chúng trong Javascript?

Jakub

PS Bạn thực sự làm việc với kiểu dữ liệu tham chiếu như thế nào? Rất tiếc là không được mô tả trong tài liệu.

+0

Bạn đã kiểm tra: https://stackoverflow.com/questions/46568850/what-is-firestore-reference-data-type-good-for? – Wandrille

+0

Cảm ơn, vâng, tôi có. Thật không may, nhận xét có nhiều phiếu bầu nhất yêu cầu cập nhật tài liệu. Không rõ cách sử dụng kiểu dữ liệu tham chiếu. –

+0

Endeed. Tôi cũng quan tâm đến câu trả lời. – Wandrille

Trả lời

7

Cloud Firestore, như bạn đã lưu ý, chi phí cho từng tài liệu được đọc. Điều này được dựa trên số tài liệu được trả lại cho bạn khi bạn thực hiện truy vấn. Không cần biết có bao nhiêu yêu cầu riêng lẻ bạn thực hiện để nhận các tài liệu (giả sử mỗi yêu cầu trả về> = 1 tài liệu). Vì vậy, sẽ rẻ hơn cho bạn để làm phương thức map() hơn là tìm nạp tất cả tài liệu và tham gia chúng trong bộ nhớ, vì bạn sẽ đọc ít tài liệu hơn từ chương trình phụ trợ.

Nếu bạn chia sẻ thêm về mô hình dữ liệu của mình (tôi không thể hình dung nó trong đầu) có thể có cách giảm nhu cầu tham gia bằng cách sao chép một số dữ liệu hoặc tận dụng truy vấn.

Các vấn đề liên quan