[英]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.