簡體   English   中英

如何在Firestore中更新文件?

[英]How to update document in firestore?

我讀了一些文章,介紹如何在Firebase中更新文檔,但對我而言不起作用。 用戶可以在他的數據庫中添加文檔,並且他應該可以更新該條目。 這是我現在的代碼...

const form = document.querySelector('#database');

form.addEventListener('submit', (e) => {
    e.preventDefault();
    db.collection('database').add({
        field1: form.field1.value,
        field2: form.field2.value 
    });
    db.collection('database').update({
        field2: form.field2.value
    });
})

您的add有效,因為您正在該集合中創建一個新文檔。 另一方面,當您嘗試update ,您必須定位要更新的特定文檔。更新collection沒有意義,您應該定位一個document

注意官方文檔中提供的示例之間的差異,這些示例用於通過add在集合中創建新文檔:

// Add a new document with a generated id.
db.collection("cities").add({
    name: "Tokyo",
    country: "Japan"
})

與用於更新特定文檔的示例:

// Set the "capital" field of the city 'DC'
db.collection("cities").doc("DC").update({
    capital: true
})

注意update如何針對特定文檔? 那就是你需要做的。 我強烈建議您查看官方文檔以獲取更多示例,它們非常有幫助。

編輯:

要編輯文檔,您需要知道它的名稱...您可以查詢集合以發現名稱,也可以使用以下添加新文檔的方法來自己設置名稱。 在此示例中,他們將使用name&state&country屬性創建一個新的“ LA”文檔:

db.collection("cities").doc("LA").set({
    name: "Los Angeles",
    state: "CA",
    country: "USA"
})

這樣,您就知道文檔的名稱。 通過使用add語法,Firebase將自動生成新文檔的名稱。

暫無
暫無

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

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