Когда данные фактически передаются в пожарный магазин?В документе снимок?Или нет, пока не будет вызван .data () или .get ()? - PullRequest
0 голосов
/ 27 сентября 2018

Я пытаюсь решить, как структурировать разрешения для приложения.Многое из этого сводится к вопросу в названии.В частности, если я вызову:

const tasks = db.collection('tasks').where('canRead', 'array-contains', firebase.auth().currentUser.uid).get() и получу массив моментальных снимков документа, будут ли данные фактически переданы для каждого моментального снимка или данные не будут перенесены, пока я не выполню итерацию по этому массиву:

for(let taskSS of tasks.docs) { ... и, в конце концов, вызовите .data () с let task = taskSS.data()?

. Причина, по которой я спрашиваю, состоит в том, что у меня есть документ задачи с огромным массивом пользователей, которым разрешено получать и перечислять эту задачу, яне хотел бы передавать все эти данные при первом вызове db.collection('tasks').where('canRead', 'array-contains', firebase.auth().currentUser.uid).get().

Если данные фактически не передаются, пока мы не вызовем .data () или .get (), тогда я мог бы поставить всю задачуданные в task.public, а затем просто выполните команду let task = taskSS.get('public').

Кто-нибудь знает, когда фактические данные передаются и помещаются в память с помощью firestore?Являются ли данные на самом деле «в» снимке документа или не переданы, пока вы не запросите эти данные с помощью .data () или .get ()?

1 Ответ

0 голосов
/ 27 сентября 2018

Данные передаются из базы данных в ваше приложение, когда вы звоните get() или onSnapshot().Каждый DocumentSnapshot содержит все данные для документа, когда вы его получаете.Вызов document.data() просто возвращает карту данных, которые у него уже есть.

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