首页 > 解决方案 > 无法将对象数组作为单独的文档写入 Firestore 集合

问题描述

在 Node 中发出一个简单的 get 请求,返回以下数据结构:

    {
        "query": {
            "q": "some value",
            "tbm": "some value",
            "location": "some value",
            "gl": "some value",
            "hl": "some value",
            "num": "some value",
            "url": "some value"
        },
        "related_searches": [],
        "results": [
            {
                "title": "some value",
                "link": "www.someValue.com",
                "date": "some value",
                "source": "some value",
                "description": "some value",
                "thumbnail": "some value",
    }
    {
                "title": "some value",
                "link": "www.someValue.com",
                "date": "some value",
                "source": "some value",
                "description": "some value",
                "thumbnail": "some value",
    }
    ]
}

当我执行以下操作以写入 Firestore 时,整个数组将写入单个文档中的 Collection。所以我最终得到了一个文档,其中包含一个包含数十个嵌套对象的数组。目标是将每个嵌套对象写入其自己的文档。我错过了什么?

request(options, function(error, response) {
  if (error) throw new Error(error);
  const responseData = JSON.parse(response.body);
  return db.collection("collection_name").add(responseData);
});

标签: javascriptnode.jsfirebasegoogle-cloud-firestore

解决方案


您可能可以像这样循环它:

for(let i=0;i<responseData.length;i++){
db.collection("name").add(responseData[i])
}

推荐阅读