Доступ к коллекциям Cloud Firestore - PullRequest
2 голосов
/ 22 октября 2019

При доступе к подколлекциям следует ли использовать такой код:

DocumentSnapshot userSnapshot = await Firestore.instance
          .collection('users')
          .document(userId)
          .collection('shoppingLists')
          .document(listName)
          .get();

или этот:

DocumentSnapshot userSnapshot = await Firestore.instance
          .collection('users/$userId/shoppingLists')
          .document(listName)
          .get();

?

I предпочитают первый стиль. Они переводят на один и тот же ввод / вывод?

Ответы [ 2 ]

1 голос
/ 22 октября 2019

Из документации :

Каждый документ или коллекция в Cloud Firestore уникальным образом определяется по их расположению в базе данных, и выможет создать ссылку, которая указывает на это. Для удобства, чтобы получить доступ к иерархической модели данных Cloud Firestore, вы можете создать ссылки, указав путь к документу или коллекции в виде строки с компонентами пути, разделенными косой чертой (/).

Поэтому вы можете использовать любой из двух методов, которые вы опубликовали ранее, или сократить его еще больше, как предложил @AndreyGordeev. Это действительно зависит от вас.

1 голос
/ 22 октября 2019

Нет никакой разницы в результате.

На самом деле, вы можете даже сократить второй до:

DocumentSnapshot userSnapshot = await Firestore.instance
          .document('users/$userId/shoppingLists/$listName')
          .get();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...