Firestore: Включает ли запрос в коллекцию их подколлекцию? - PullRequest
1 голос
/ 11 апреля 2019

У меня есть коллекция, называемая пользователями, состоящая из их имени и других личных данных, и у нее также есть подколлекция, состоящая из их транспортных средств.

Но для некоторых операций я хочу запрашивать только пользовательские данные.Я боюсь, что это будет включать также подколлекцию, которая увеличит мое использование данных.

Структура базы данных показана ниже:

enter image description here

db.collection("users").limit(10)
.get()
.then(function(querySnapshot) {     
  querySnapshot.forEach(function(doc) {
    console.log(doc.data());
     $scope.userList.push(doc.data());           
  });           
})
.catch(function(error) {
  console.log("Error getting documents: ", error);
});

Я получаю данные, но я не уверен, является ли это правильным способом запроса или нет.

Ответы [ 2 ]

2 голосов
/ 11 апреля 2019

В отличие от базы данных реального времени Firebase, где для отображения списка пользователей вы загрузили бы весь объект User вместе со всеми дочерними объектами, существующими в этом объекте, в Cloud Firestore это больше не проблема. Поэтому, если у вас есть подколлекции в документе, вы не будете их загружать.

Запросы в Firestore мелкие: они получают только элементы из коллекции, с которой выполняется запрос. Невозможно получить документы из коллекции верхнего уровня и других коллекций или вложенных коллекций в одном запросе. Так что не беспокойтесь об этих подколлекциях.

1 голос
/ 11 апреля 2019

Запросы FireStore являются мелкими, то есть они возвращают только те документы, которые находятся на том уровне, к которому вы запрашиваете, они не возвращают свои вложенные коллекции.

Если вы также хотите получить вложенные коллекции,вам нужно сделать отдельный запрос для этого.

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