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

Querying Firebase db without sync 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);
  });
});

根据this, you can use the RxJS filtering operator take

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

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

记得导入 take-operator:

import 'rxjs/add/operator/take';