首頁 >web前端 >js教程 >如何在 Cloud Firestore 中列出子集合:客戶端方法與伺服器端方法?

如何在 Cloud Firestore 中列出子集合:客戶端方法與伺服器端方法?

Linda Hamilton
Linda Hamilton原創
2024-11-30 07:11:11313瀏覽

How to List Subcollections in Cloud Firestore: Client vs. Server-Side Approaches?

如何列出Cloud Firestore 文件中的子集合

在Cloud Firestore 中,文件可以包含子集合,子集合本質上是嵌套在文件中的集合。要檢索文件中子集的名稱,可以採用不同的方法,這取決於您使用的是客戶端 SDK 還是伺服器端 SDK。

客戶端 SDK

在客戶端 SDK(例如 Web、iOS、Android)中,目前不支援取得子集合名稱清單。根據 Firestore 文件:

使用行動/Web 用戶端程式庫無法擷取集合清單。您應該只將查找集合名稱作為受信任伺服器環境中管理任務的一部分。如果您發現在行動/Web 用戶端庫中需要此功能,請考慮重組您的數據,以便子集合名稱是可預測的。

伺服器端 SDK

開啟另一方面,伺服器端 SDK 提供了檢索子集合名稱的方法。例如,在 Node.js SDK 中,您可以使用 listCollectionIds 方法:

const {Firestore} = require('@google-cloud/firestore');
const firestore = new Firestore();

const documentRef = firestore.doc('rootCollection/aDocument');

documentRef.listCollections().then((collections) => {
  const subcollectionNames = collections.map(collection => collection.id);
  console.log(subcollectionNames); // ['subCollection1', 'subCollection2']
});

其他選項

如果您需要在客戶端檢索子名稱-sideside環境,您可以考慮以下替代方法:

  • 使用可預測的命名約定:為您的子集合定義一致的命名約定,以便輕鬆根據父文檔推斷出名稱。
  • 維護元資料文件:建立單獨的文件它儲存文件中所有子集合的名稱。

以上是如何在 Cloud Firestore 中列出子集合:客戶端方法與伺服器端方法?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn