在没有同步angularfire2的情况下查询Firebase数据库

时间:2017-07-30 12:54:09

标签: firebase angularfire2

我正在使用angularfire2作为我的离子应用程序,我能够使用this.angularFireDatabase.list('/users/')查询实时数据库。

但是我希望数据库不需要同步,即只想查询数据库一次并关闭同步连接。 我可以在android reference.sync(false);中做同样的事情。

我一直在阅读他们的文档但是在那里找不到任何东西。

根据答案的完整解决方案

getUsers(): Promise<any[]> {
return new Promise((resolve, reject) => {
  let subscription = this.afd.list('/users/', { preserveSnapshot: true }).take(1).subscribe(data => {
    let retArray: any[] = [];
    for (let i = 0; i < data.length; i++) {
      retArray.push(data[i].toJSON());
    }
    subscription.unsubscribe();
    return resolve(retArray);
  });
});

1 个答案:

答案 0 :(得分:1)

根据this,您可以使用RxJS过滤运算符take

this.af.database.object('/users/', { preserveSnapshot: true).take(1);

这也会在第一个值发出后终止订阅。

请记住导入take - 运算符:

import 'rxjs/add/operator/take';