亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 Web 應用程序中使用 Firebase Firestore,我可以排除返回某些字段嗎?

在 Web 應用程序中使用 Firebase Firestore,我可以排除返回某些字段嗎?

慕碼人2483693 2023-06-09 15:57:02
我在文檔中找不到任何內容,但說我執行了一個查詢,例如const snapshot = await jobsRef.where('status', '==', STATUS_ACTIVE).get();可以排除某些字段不返回這個“工作”?“工作”文檔中的某些字段應保持私有。
查看完整描述

2 回答

?
侃侃爾雅

TA貢獻1801條經驗 獲得超16個贊

對于 Web 和移動客戶端,無法從查詢中排除某些字段。當您查詢文檔時,它將始終提供所有匹配文檔的所有字段。安全規則不會幫助你。

對于有公共字段和私有字段要分開的情況,您應該制作兩個不同的集合并使用不同的安全規則保護它們。您可以選擇兩個頂級集合:

/jobs-public/{id}
/jobs-private/{id}

或者您可以使用子集合:

/jobs/{id}/public/{id}
/jobs/{id}/private/{id}

在任何一種情況下,您都必須確保用戶只能閱讀您的要求允許他們閱讀的文檔。


查看完整回答
反對 回復 2023-06-09
?
寶慕林4294392

TA貢獻2021條經驗 獲得超8個贊

無法檢索某些字段,正如 Doug 上面提到的,您可以將不同集合或子集合中的字段分開。

如果您不想重新設計數據庫結構,您也可以使用 Firebase Cloud Functions,您可以在其中獲取所需的文檔、過濾接收到的數據并將所需的字段返回給用戶。因此,用戶也將無法看到完整的文檔。

盡管這顯然會增加您的成本,因為您將使用 Cloud Functions。盡管過濾和驗證誰在檢索數據確實很有效。


查看完整回答
反對 回復 2023-06-09
  • 2 回答
  • 0 關注
  • 129 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號