簡體   English   中英

我在 Firestore 中執行了多少次讀取?

[英]How many reads in Firestore am I performing?

假設我在 firestore 中有一個名為text_messages的集合,其中包含 500 個文檔,並且我知道其中一個文檔的 doc_id。

我想執行以下代碼來獲取該文檔的數據:

doc = db.collection("text_messages").document("my_doc_id").get()
data = doc.to_dict()

所以我的問題是:這算作 1 次讀取還是 500 次讀取? 我是從計費的角度詢問並希望優化成本。

由於接受的答案很容易被誤解,因此我發布了一個替代方案。

Firestore 對在服務器上為您讀取的每個文檔收費。

由於您的示例只讀取一個文檔,因此無論您從中讀取它的集合中有多少文檔,您都需要為讀取的一個文檔付費。

執行查詢不會讀取每一個可能符合條件的文檔,而是使用索引來確定哪些文檔符合條件,然后只讀取這些文檔。

因此,在 Firestore 查詢中,您(最多)會為查詢返回的文檔數量付費,而不是為數據庫必須考慮的文檔數量付費。

Firebase 對每個查詢計為一次讀取,無論您的集合有 500 個文檔還是 5000 個文檔都沒有關系。 單個查詢算作一次讀取,即使它必須通過 500 個文檔在雲 Firestore 中搜索到 go。

另請記住,在偵聽查詢時,每次添加或更新結果集中的文檔時,您都需要為讀取付費。

// Reading a specific document,
db.collection("text_messages").document("my_doc_id")
    .get() // One read

// Using where query
db.collection("text_messages").where("sender", "==", "jack sparrow")
    .get() // One read

// Reading a whole collection
db.collection("text_messages")
    .get() // One read

你可以在這里閱讀更多

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM