Ошибка с запросом от Firebase в операторе .where - PullRequest
0 голосов
/ 13 апреля 2020

У меня есть эта функция, но у меня эта ошибка с оператором where.

 getUser() {
    this.db.collection("users").where("name", "==", "Maria")
}

ОШИБКА: Свойство where не существует для типа AngularFirestoreCollection'.ts (2339)

Ответы [ 2 ]

0 голосов
/ 18 апреля 2020

если вы используете AngularFire2, вы можете сделать это следующим образом:

getUser() {
    const query = this.db.collection('users', ref => ref.where('name', '==', 'Maria'); //Remember that the casing matters, Maria !== maria.
    // From here you can do whatever you need, use as Promise or Observable:
    // Promise Based
    query 
       .then(data => {
           return data.map(snaps => {
               return snaps;
           })
       })
       .catch((err) => console.log(err));
       .finally(() => console.log('completed');
}

Если это просто Firebase SDK

getUser() {
     this.db.collection('users').where('name', '==', 'Maria'); //Remember that the casing matters, Maria !== maria.
}
0 голосов
/ 13 апреля 2020

Если вы хотите применить запросы в Firebase Collection. Вы должны передать queryFn в качестве второго аргумента методу сбора.

Попробуйте это:

    this.db.collection("users",(ref) => {
      let query : firebase.firestore.CollectionReference | firebase.firestore.Query = ref;
      query = query.where(`name`, `==`, 'Maria');
      return query;
    } ).valueChanges();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...