由网友(①⑦看日落⑧)分享简介:我已经看到有一个.valueChanges()和.SnaphotChanges(),它们都监听数据库中的更改,但如果我只想检索一次数据,该怎么办?我注意到,在.valueChanges()或.SnaphotChanges()的末尾添加.tube(taken(1))可以奏效,但它与Firebase FireStore在...我已经看到有一个.valueChanges()和.SnaphotChanges(),它们都监听数据库中的更改,但如果我只想检索一次数据,该怎么办?
我注意到,在.valueChanges()或.SnaphotChanges()的末尾添加.tube(taken(1))可以奏效,但它与Firebase FireStore在Android和iOS版的管理SDK和移动SDK中提供的.get()函数相同吗?
我在做什么
this.items = this.itemCollection.valueChanges().pipe(take(1));
我所期待的
this.items = this.itemCollection.get();
PS:我还是个新手。
推荐答案
无反应方式
如果您正在寻找一种不使用Reaction来执行此操作的方法,则可以对ref而不是集合项调用get()方法。
this.itemCollection.ref.get().then((querySnap) => {
//use your data here
console.log(querySnap.docs);
});
反应方式
this.itemCollection.get()返回您可以订阅的QuerySnapshot类型的可观测对象
this.itemCollection.get().subscribe((querySnap) => {
console.log(querySnap.docs)
});
相关推荐
最新文章