Ionic 离子与firestore获得整个收集使用firebase 9

sczxawaw  于 2023-08-01  发布在  Ionic
关注(0)|答案(1)|浏览(102)

我在Firestore中存储了一个带有标题和缩略图的URL列表。我正在使用离子7与Firebase 9.22
我正在使用如下语法进行更新

import { Firestore, collection, collectionData, doc, docData, addDoc, deleteDoc, setDoc, updateDoc, getDocs } from '@angular/fire/firestore';

 async updateUser(uid: string, payload: any) {
    const userDocRef = doc(this.firestore, 'users/' + uid );
    return setDoc(userDocRef, payload, { merge: true });
  }

字符串
我试图找到获取整个集合的语法,其中集合名称是“资源”。
目前离子代码如下所示

<ion-list *ngFor="let resource of resources">
      <ion-item (click)="openResource(resource.url)">
        <ion-thumbnail slot="start">
          <img [src]="resource.image" />
        </ion-thumbnail>
        <ion-label>{{resource.text}}</ion-label>
      </ion-item>
    </ion-list>


我需要从firestore收集填充资源。请指示。
基于示例

const citiesRef = db.collection('cities');
const snapshot = await citiesRef.get();
snapshot.forEach(doc => {
  console.log(doc.id, '=>', doc.data());
});


我正在努力使用它在我的情况下,因为我正在寻找使用它像下面

const citiesRef = collection(this.firestore, 'cities');
    const snapshot = await citiesRef.get();
    snapshot.forEach((doc:any) => {
      console.log(doc.id, '=>', doc.data());
    });


get()在citiesRef上无效

toiithl6

toiithl61#

您的第一个代码片段使用的是模块化API,因此您还应该遵循 that 示例从集合中获取所有文档。从该链接:

import { collection, getDocs } from "firebase/firestore";

const querySnapshot = await getDocs(collection(db, "cities"));
querySnapshot.forEach((doc) => {
  // doc.data() is never undefined for query doc snapshots
  console.log(doc.id, " => ", doc.data());
});

字符串

相关问题