firebase 如何在AngularFire 7新API中使用'where'?

ffx8fchx  于 2023-04-07  发布在  Angular
关注(0)|答案(3)|浏览(147)

我把AngularFire升级到了7,在使用.where和collectionReference时遇到了问题。那么简单..如何正确使用它?
我尝试使用'collection' from '@angular/fire/firestore',如下所示:

const ref = collection(this.firestore, 'collectionName');

但裁判没有说“在哪”之类的
我知道'@angular/fire/firestore'也有'query'和'where',但我不知道如何使用它。
如何在集合中使用“where”和新的API查找文档?

swvgeqrz

swvgeqrz1#

我终于想明白了...
用于单个where语句

const refq = query(ref,where('dir','==','T'))

对于多个where语句使用

const wa:QueryConstraint[] = [where('dir','==','T'),where('day','==',23)]

const refq = query(ref,...wa)

得到的结果使用

collectionData(refq).subscribe()
7fyelxc5

7fyelxc52#

AngularFire 7.0是基于新的可摇动树的Firebase JS SDK v9,所以你应该做如下(未经测试):

const ref = collection(this.firestore, 'collectionName');
const q = query(ref, where("...", "==", "..."));

请参阅此处的文档(选项卡“Web版本9”)。

4dbbbstv

4dbbbstv3#

AngularFire有Firebase JS SKD v9语法,使用自己的对象:

import {collection, collectionData, Firestore, query, where} from '@angular/fire/firestore';

export class FooClass {

  constructor(private firestore: Firestore){
    const ref = collection(firestore, 'collectionName');
    const q = query(ref, where('ids', 'array-contains', id));
    const res$ = collectionData(q);
  }

相关问题