Javascript Firestore用户\u ref.update不是一个函数
我正在尝试更新集合中的文档,代码行如下Javascript Firestore用户\u ref.update不是一个函数,javascript,firebase,google-cloud-firestore,Javascript,Firebase,Google Cloud Firestore,我正在尝试更新集合中的文档,代码行如下 async function updateAbout(about_me){ try { let user_ref = db.collection("users").where("uid", "==", $current_user.uid) await user_ref.update({about_me}) } catch (error) { co
async function updateAbout(about_me){
try {
let user_ref = db.collection("users").where("uid", "==", $current_user.uid)
await user_ref.update({about_me})
} catch (error) { console.error("Can't update", error)
}
我得到以下错误:
TypeError:user\u ref.update不是一个函数
where()
返回一个查询
,该查询没有update()
方法。您需要执行以下操作:
let user_ref = await db.collection("users").where("uid", "==", $current_user.uid).get();
user_ref.forEach(doc => {
const docRef = db.collection("users").doc(doc.id);
docRef.update({about_me});
});
首先获取所有文档,然后迭代获取文档的id并更新每个文档。是否有一行程序替代
forEach
foreach
返回QuerySnapshot
的承诺。另一种方法是让uid成为文档id,然后不必使用where()