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()