在Cloud Firestore文档上循环时出错

时间:2018-06-04 13:29:02

标签: javascript firebase ionic-framework observable google-cloud-firestore

我正在使用来自rxjs的具有Ionic和Observable的Cloud Firestore。我使用snapshotChanges()方法检索我的数据,并使用Observable来存储"数据并使用async中的html管道对其进行可视化。我想更新集合中的所有文档?我怎么能这样做?我试图在那个集合上循环,但它给了我"意外的输入结束"错误。我尝试了所有的解决方案,如pipe(map(...)),也订阅了它,但结果总是一样的。它似乎无法看到Observable的结尾,所以它无法从我的Observable中找到一个数组。

从我的收藏集中搜索文档:

this.guests = this.aFs.collection<GuestData>('hosts/' + this.host.hostId + '/guests', ref => { return ref.orderBy('name') }).snapshotChanges().pipe(
    map(actions => {
      return actions.map(a => {
        const guestData = a.payload.doc.data() as GuestData;
        const guestId = a.payload.doc.id;

        return { guestId, guestData };
      })
    })
  );

尝试更新所有文档:

this.guests.forEach(guests => {
  guests.forEach(res => {
    this.aFs.doc('hosts/' + this.host.hostId + '/guests/' + res.guestId).update(...);
});

这个方法和我试过的其他方法一样,给了我&#34;意外的输入结束&#34;,没有真正的错误但是在调试中我可以看到变量中的错误。

0 个答案:

没有答案