我阅读了一些有关如何在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
});
})
答案 0 :(得分:1)
您的add
之所以有效,是因为您正在该集合中创建一个新文档。另一方面,当您尝试update
时,必须确定要更新的特定文档...更新collection
没有意义,您应该确定{{1 }}。
请注意the official docs中提供的示例中通过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
})
如何定位特定文档?那就是你需要做的。我强烈建议您查看the official docs以获得更多示例,它们非常有帮助。
编辑:
要编辑文档,您需要知道它的名称...您可以查询集合以发现名称,也可以使用以下添加新文档的方法来自行设置名称。在此示例中,他们正在创建一个新的“ LA”文档,其名称和状态属性分别为:
update
通过这种方式您可以知道文档的名称。通过使用db.collection("cities").doc("LA").set({
name: "Los Angeles",
state: "CA",
country: "USA"
})
语法,Firebase将自动生成新文档的名称。