簡體   English   中英

將所有項目作為單獨的文檔保存到 firebase 集合

[英]Saving all items to a firebase collection as individual documents

我有一個 function,用戶在其中鍵入站點地圖,它會返回站點地圖中的所有鏈接。

然后如何將所有這些鏈接保存在 Firebase 上特定集合中的單個文檔中?

請參閱下面的當前 firebase 集 function。錯誤返回“使用無效數據調用的函數 DocumentReference.set()。數據必須是 object,”

const saveAllCrawl = async () => {
     await db.collection('urls').doc('test').set(urls);
}

站點地圖爬蟲返回數組的當前 map & 廢棄站點地圖 function

const scrapeSitemap =  async (e) => {
  e.preventDefault();
  console.log(sitemapURL)
  const array = await GetSitemapLinks(sitemapURL);
  setURLS(array)
}

{urls && urls.map((user) => (
      <Grid container spacing={0} >
                    <Grid  xs={6} sm={6} md={6}>
                        <li className="user">{user}</li>
                    </Grid>
      </Grid>
))}
    <Button onClick={saveAllCrawl}>Save All To Firebase</Button>

在文檔中,每個值都存儲在一個鍵上。

就像如果有多個 url 並且你想將每個 url 存儲在一個單獨的文檔中,那么你必須將它們存儲在任何鍵上。 Collections:URLS 文檔 ID:(generated_key)文檔數據:

{ "key" : "url_value" }

因此,如上所述,您必須創建一個批處理,在其中將所有查詢分配給一個批處理,然后設置 batch.commit()。

現在,如果您嘗試將它們存儲在像數組一樣的列表中。

{
   "urls": [
   "url_one",
   "url_one"
   ]
}

因此,首先創建一個 object 並將所有字符串值分配給鍵,然后將其設置為文檔。

暫無
暫無

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

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