如何从Firestore中获取文档而无需订阅。我使用下面的代码实现了该代码,该代码首先进行订阅,获取用户,然后取消订阅。有没有像SQL中一样简单的get方法。 这里的“电子邮件”是文档中的一个字段。
usercollection: AngularFirestoreCollection<User>;
fellowuser: Observable<User[]>;
fellowsubscription: Subscription;
......
this.usercollection = this.angularfirestore.collection ('users', ref => {
return ref.where ('email','==','user@example.com');
});
this.fellowuser = this.usercollection.valueChanges ();
this.fellowsubscription = this.fellowuser.subscribe (
(users) => {
console.log ( users );
this.fellowsubscription.unsubscribe ();
}
)
电子邮件对于文档而言是唯一的。文档ID未知。
答案 0 :(得分:1)
您可以使用take(1)运算符取消订阅。例如:
this.angularfirestore.collection('users').valueChanges().take(1).subscribe(res => {
console.log(res); //Use the returned data as you normally would
});
请确保导入
import { take } from 'rxjs/operators';