Что делает метод get () в CollectionReference? - PullRequest
0 голосов
/ 01 ноября 2019

Когда мы смотрим на API-интерфейс NodeJS для работы с объектами Firesore CollectionReference, мы обнаруживаем, что у него есть метод с именем get(). Это задокументировано здесь:

https://googleapis.dev/nodejs/firestore/latest/CollectionReference.html#get

И говорится:

Выполняет запрос и возвращает результаты в виде QuerySnapshot.

Пример кода на странице показан как:

let query = firestore.collection('col').where('foo', '==', 'bar');

query.get().then(querySnapshot => {
  querySnapshot.forEach(documentSnapshot => {
    console.log(`Found document at ${documentSnapshot.ref.path}`);
  });
});

Однако, это меня смутило. В примере кода метод get() выполняется для объекта типа Query, а не для CollectionReference и, следовательно, кажется, не применяется. Мне не хватает того, что query метод get() на CollectionReference может выполняться против.

1 Ответ

1 голос
/ 01 ноября 2019

Как видно из документации API для CollectionReference (прокрутите немного вниз), CollectionReference - это Query , поскольку он наследуется от Query. Есть секунда, которая называется "расширяет", и вы видите запрос там. Этот запрос вернет все документы в коллекции. Когда вы вызываете where() для этого запроса CollectionReference, он возвращает новый запрос с примененным фильтром.

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