Увеличивает ли ссылка на документ количество прочитанных? - PullRequest
0 голосов
/ 28 мая 2019

У меня есть коллекция users и коллекция rentals.Документ rental содержит поле для пользователя, который арендует объект, и хранится в качестве ссылки на документ (rentalDocumentSnapshot['renter'] = /users/<some id here>).Чтобы запросить все арендные платы, где вы арендуете, я просто передаю поток:

Firestore.instance.collection('rentals')
    .where('renter', isEqualTo: Firestore.instance.collection('users').document(myUserID))
    .snapshots()

Создает ли вызов Firestore.instance.collection('users').document(myUserID) чтение?Так будет ли лучше хранить идентификатор пользователя в прокате в виде строки вместо ссылки на документ?

1 Ответ

2 голосов
/ 28 мая 2019

Создание DoucumentReference не требует чтения. Вы действительно должны get() этот документ, чтобы прочитать его. Вы можете рассматривать ссылку как просто указатель на документ.

Хранение ссылки вместо идентификатора или пути не обязательно лучше или хуже. Это в основном вопрос удобства и предпочтений. Ссылки, как правило, проще в использовании, так как вам не нужно создавать эту ссылку, но, как я уже сказал, создание этой ссылки бесплатно. Ссылка, как правило, хранит больше данных, поскольку хранит весь путь к документу, а не только идентификатор.

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