我正在创建一个Web表单页面,该页面将根据条件将输入字段更新到相应的Firestore文档中。该怎么办?
我获得查询结果的第一部分是可以的,因为控制台日志显示了正确的查询结果。但是,用于更新该文档的第二部分不起作用
const reportForm = document.querySelector('#daily-reports');
reportForm.addEventListener('submit',(e) => {
e.preventDefault();
const forward = reportForm['forward'].value;
const reflected = reportForm['reflected'].value;
const upserror = reportForm['ups-switch'].value;
const transerror = reportForm['trans-switch'].value;
const transDesc = reportForm['transDesc'].value;
const upsDesc = reportForm['upsDesc'].value;
console.log(forward,reflected,upserror,transerror,transDesc,upsDesc);
firebase.initializeApp(config);
const db = firebase.firestore();
db.settings({timestampsInsnapshots: true});
firebase.auth().onAuthStateChanged(user => {
if(user) {
console.log(user.uid);
console.log(user.email);
//Query begins here
db.collection('Stations').where('userId',"==",user.uid).get().then(function(querysnapshot) {
querysnapshot.forEach(function (doc) {
doc.data().update(
{
"ForwardPower": forward,"ReflectedPower": reflected,"TransDesc": transDesc,"TransmitterError": transerror,"UPSError" : upserror,"UPSDesc": upsDesc}
);
console.log(doc.id," => ",doc.data());
});
}).catch(function(error) {
console.log("Error getting documents: ",error);
});
}
});
});
运行代码后,这是我得到的错误:
Error getting documents: TypeError: "doc.data(...).update is not a function"
<anonymous> func.js:42
forEach database.ts:2131
forEach document_set.ts:97
inorderTraversal sorted_map.ts:324
inorderTraversal sorted_map.ts:136
forEach document_set.ts:96
forEach database.ts:2130
<anonymous> func.js:41