Google cloud firestore 我可以在不取消订阅的情况下修改QuerySnapshot侦听器吗?

Google cloud firestore 我可以在不取消订阅的情况下修改QuerySnapshot侦听器吗?,google-cloud-firestore,Google Cloud Firestore,假设我正在收听bar集合中foo小于5的所有项目 let listener = db.collection("bar").where("foo", "<", 5).onSnapshot() let listener=db.collection(“bar”)。其中(“foo”,4)。其中(“foo”,4) 我可以在不取消订阅的情况下修改我的侦听器吗 不,这是不可能的。您需要取消订阅,创建一个新的查询对象,然后订阅新的查询对象。或者

假设我正在收听
bar
集合中
foo
小于5的所有项目

let listener = db.collection("bar").where("foo", "<", 5).onSnapshot()
let listener=db.collection(“bar”)。其中(“foo”,4)。其中(“foo”,4)
我可以在不取消订阅的情况下修改我的侦听器吗


不,这是不可能的。您需要取消订阅,创建一个新的查询对象,然后订阅新的查询对象。或者订阅这两个查询,然后决定如何处理任何重复的文档。

这是路线图上的一个功能吗?侦听器将更加“聪明”如果我可以在订阅的同时修改它们,它们将只获取旧查询参数和新查询参数之间的差异。您当然可以向Firebase支持提交功能请求。但我怀疑,由于其复杂性,不会发生类似的情况。