将数据数组临时存储在Firestore中

时间:2018-12-15 17:48:37

标签: javascript arrays firebase google-cloud-firestore google-cloud-functions

这个问题与here上进行的讨论有关。

我需要使用Firebase Cloud Function通过解析来解析数组中的URL。与其在客户端上遍历URL(可能在此数组中可能包含数百个项目)并向该函数发出单独的请求,不如将整个数组存储在Firestore中,将集合的ID传递给该函数,获取服务器上的阵列,进行遍历并执行一些操作,然后使用新的ID将其保存回Firestore并使用该ID响应回客户端,以便其可以使用/销毁,或者仅响应新的变异数组(不确定我要使用哪一个)。

似乎没有一种“首选”的方式使用Firebase存储阵列,因为通常认为它是邪恶的,但是,如果我不打算长时间保留数据怎么办?

2 个答案:

答案 0 :(得分:0)

我知道了。将其分配给obj并将其传递给Firestore,而不只是将其作为数组传递。

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

const obj = {
    arr: ['url1', 'url2', 'url3']
}

答案 1 :(得分:0)

我建议将数组数据写为类似Java的列表:

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

这将导致

urls
   0: "url1"
   1: "url2"
   2: "url3"