在Cloud Firestore 中尋找子集合名稱
在Cloud Firestore 中,您通常會將資料組織到包含文件和子集合的層次結構中。檢索子集合名稱對於導航此資料結構至關重要。
問題:
從文件中檢索子集合名稱可能看起來很直觀,但在移動和 Web 中這是不可能的客戶端 SDK。當您使用 get() 取得文件時,它僅傳回欄位值,而不傳回任何嵌套集合名稱。
原因:
Firestore 的客戶端 SDK 優先考慮安全性和效能。暴露子集合名稱可能會引入潛在的漏洞並影響效能。
伺服器端SDK 的解決方案:
在Node.js 和其他伺服器端SDK 中,您可以存取使用Collection.listCollectionIds() 方法的子集合名稱。此方法提供了一種安全且高效的方法來檢索文件中的子集合名稱。
範例:
const firestore = require('firestore.v1beta1'); const client = firestore.v1beta1({ // optional auth parameters. }); const formattedParent = client.anyPathPath("PROJECT", "DATABASE", "DOCUMENT", "ANY_PATH"); client.listCollectionIds({parent: formattedParent}).then((responses) => { const resources = responses[0]; for (var i = 0; i < resources.length; ++i) { // doThingsWith(resources[i]) } }) .catch((err) => { console.error(err); });
此解決方案提供了一種安全且高效的方法來檢索子集合伺服器端環境中的名稱。對於行動和 Web 用戶端,您可能需要考慮替代資料結構或仔細管理子集合名稱。
以上是如何檢索 Cloud Firestore 中的子集合名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!