Как получить массив ссылок в Firestore? - PullRequest
0 голосов
/ 06 января 2020

У меня есть следующая структура в Firestore для моей коллекции чатов:

chats: [
    chat1: { 
        jobs: [
            jobs/job1,
            jobs/job2,
            jobs/job4
        ]
    },
    chat2: { 
        jobs: [
            jobs/job2,
            jobs/job3
        ]
    }
]

Если я на chat1 и у меня есть данные, тогда у меня есть массив ссылок на задания. Я знаю, что у меня есть jobs/job1, jobs/job2 и jobs/job4.

Как я могу запрашивать и получать данные для всех этих заданий?

Я мог бы сделать: firestore.doc("jobs/job1").get() и firestore.doc("jobs/job2").get() и firestore.doc("jobs/job3").get(), но это кажется очень неэффективным.

И я не понимаю, как я могу фильтровать firestore.collection("jobs"), чтобы дать мне то, что Я хочу.

Я видел несколько других вопросов здесь, задающих то же самое, но для Java, и я не могу перевести его на JavaScript.

1 Ответ

2 голосов
/ 06 января 2020

Я мог бы сделать: firestore.do c ("jobs / job1"). Get () и firestore.do c ("jobs / job2"). Get () и firestore.do c ("jobs / job3"). Get (), но это кажется очень неэффективным.

Это именно то, что вы хотите сделать - вы можете перебирать список и получать каждый документ по отдельности. Firestore не предлагает какой-либо оптимизированный способ получения нескольких документов за один запрос с использованием веб-страниц и мобильных SDK - достаточно эффективно, чтобы каждый из них использовал свой собственный запрос. У вас не возникнет проблем с этим подходом.

См. Также: Google Firestore - как получить документ по нескольким идентификаторам за одну поездку?

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