Временно сохранить массив данных в Firestore - PullRequest
0 голосов
/ 15 декабря 2018

Этот вопрос касается обсуждения, которое продолжалось здесь .

У меня есть коллекция URL-адресов в массиве, которые мне нужно проанализировать с помощью облачной функции Firebase.Вместо того, чтобы перебирать URL-адреса на клиенте (я мог бы потенциально содержать сотни элементов в этом массиве) и делать отдельные запросы к функции, я бы предпочел сохранить весь массив в Firestore, передать идентификатор коллекции в функцию,захватите массив на сервере, выполните итерацию по нему и выполните некоторые операции, а затем либо сохраните его обратно в Firestore с новым идентификатором, и ответьте клиенту с этим идентификатором, чтобы он мог использовать / уничтожить, либо просто ответить вновь мутированныммассив (не уверен, какой из них я бы хотел использовать).

Похоже, что нет «предпочтительного» способа хранения массивов с помощью Firebase, так как это обычно считается злом, что если я не наденуне планируете хранить данные очень долго?

Ответы [ 2 ]

0 голосов
/ 16 декабря 2018

Я бы предложил записать данные массива в виде списка, подобного Java:

myDoc.put("urls", Arrays.asList("url1", "url2", "url2"));

, что приведет к

urls
   0: "url1"
   1: "url2"
   2: "url3"
0 голосов
/ 15 декабря 2018

Я понял это.Вместо того, чтобы просто передавать его как массив, присвойте его объекту obj и передайте его в Firestore.

const arr = ['url1', 'url2', 'url3'];

в

const obj = {
    arr: ['url1', 'url2', 'url3']
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...