繁体   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