Firebase Firestore, где () запрос не может найти документ - PullRequest
0 голосов
/ 27 декабря 2018

Я впервые использую where().get() для запроса Firestore, и я не могу заставить его работать.Данные моего Firestore:

enter image description here

Этот код работает:

firebase.firestore().collection('Tunes').doc('tiny_dancer')
.get()
.then(function(querySnapshot) {
  if (querySnapshot.exists) {
    console.log(querySnapshot.data());
  } else {
    console.log("No such document!");
  }
})
.catch(function(error) {
   console.error(error);
});

Мы вернемся {composer: "elton_john"}.

Этот код не работает:

firebase.firestore().collection('Tunes')
.where('composer', '==', 'elton_john')
.get()
.then(function(querySnapshot) {
  if (querySnapshot.exists) {
    console.log(querySnapshot.data());
  } else {
    console.log("No such document!");
  }
})
.catch(function(error) {
   console.error(error);
});

Ответ No such document! Я ожидал, что он вернет tiny_dancer.Как мне это сделать?

1 Ответ

0 голосов
/ 27 декабря 2018

Существует свойство DocumentSnapshot.exists, позволяющее проверить, действительно ли документ существует.Но для запроса может быть любое количество подходящих документов, поэтому вместо exists вы бы использовали QuerySnapshot.empty, чтобы проверить, есть ли совпадения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...