Firestore函数.where不是函数

时间:2019-01-21 08:42:28

标签: javascript google-cloud-firestore

我正在尝试更新Cloud Firestore文档中的数据,但是却遇到错误,指出.where()函数在引用中不可用,即使文档中说应该可用。

下面的代码:

deleteJob(e){
        //in Firebase, set "active" on job to N
        /**
        * The id of the job to delete will be bound to the element that calls it here
        **/

        let toInactivate = e.currentTarget.attributes[0].value;
        console.log(toInactivate);
        db.collection('jobs').doc().where("job_uuid", "==", toInactivate).update({
          "active": false
        })


} 

其中db是firestore参考变量。

为什么这不起作用?

1 个答案:

答案 0 :(得分:0)

Firestore不具有更新查询的概念。要更新一组文档,您必须具有对每个文档的引用,并分别对每个文档调用update

db.collection('jobs').where("job_uuid", "==", toInactivate).get().then(querySnapshot => {
  querySnapshot.forEach(doc => 
    doc.update({
      "active": false
    })
  })
})