Angular Firestore无需订阅即可获取文档

时间:2018-06-22 07:12:50

标签: angularfire2

如何从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未知。

1 个答案:

答案 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';
相关问题