簡體   English   中英

有沒有辦法向 firestore 集合中的所有文檔添加新字段?

[英]Is there a way to add new field to all of the documents in a firestore collection?

我有一個需要更新的集合。 需要添加新的字段並根據現有字段填寫。

假設我有一個名為documents的集合:

documents/{documentId}: {
   existingField: ['foo', 'bar'],
   myNewField ['foo', 'bar']  
}

documents/{anotherDocumentId}: {
   existingField: ['baz'],
   myNewField ['baz']  
}
// ... and so on

我已經嘗試從模擬器啟動本地雲 function,該模擬器循環每個文檔並根據我需要的邏輯寫入生產數據。 問題是 function 最多只能活 30 秒。 我需要的是某種控制台工具,我可以以管理員身份運行(使用服務帳戶)來快速管理我的需求。

您如何處理此類情況?

Firebase 不提供執行遷移的控制台或工具。

您可以編寫一個程序在您的開發機器上運行,該程序使用后端 SDK(如 Firebase Admin SDK)之一來查詢、迭代和更新文檔,並讓它運行任意時間。

對於這種類型的數據遷移,API 中沒有內置任何特定內容。 您必須依次更新每個文檔,這通常還涉及閱讀所有文檔(或至少是它們的 ID)。

雖然可以在 Cloud Functions 上執行此操作,但我發現使用本地 Node.js 腳本更容易執行此操作,因為它沒有 Cloud Functions 強加的運行時限制。

暫無
暫無

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

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