我有一个巨大的JSON数据与键和值对。像下面的代码我有这么多的数据在我的文件
{
"Tamil Nadu": {
"Chennai ": {
"Anna Nagar": "600040 ",
"New Avadi road": "600010 "
},
"Tiruvallur ": {
"Ambattur": "600053 ",
"Mogappair": "600037 "
}
},
"Andhra Pradesh": {
"Anantapur ": {
"A Narayanapuram": "515001 ",
"Achampalle": "515621 "
},
"Chittoor ": {
"Agraharam": "517640 ",
"Badikayalapalle": "517370 "
}
}
}
我怎样才能把这些庞大的数据作为一个集合和相应的文档添加到云firestore数据库中。
2条答案
按热度按时间nzrxty8p1#
我不能100%确定您使用的是哪个Firebase数据库,因为您用
firebase-realtime-database
和google-cloud-firestore
标记了您的问题,并且您在标题中提到了"Cloud Firestore",所以让我们分享一些Firebase提供的两个数据库系统的解决方案。对于Firestore
最简单的方法IMHO是从您的计算机使用Admin SDK:Admin SDK是一组服务器库,允许您从特权环境中与Firebase交互。
您可以创建一个JS文件,例如包含以下内容,并将其保存在您的计算机上。安装Node.js后,您可以使用以下命令运行该文件:
node <filename>
.您可能需要调整JSON对象的解析,以处理所需的Firestore数据结构。
对于身份验证,您可以使用Firebase项目上具有Editor角色的服务帐户的凭据初始化Firebase Admin SDK
要获得上图所示的json文件,请转到Firebase控制台,单击左上角的齿轮,选择"Service accounts"选项卡,然后单击底部的蓝色"Generate new private key"按钮。
对于实时数据库
以下是三种可能的方法:
1/使用命令行界面
CLI提供了几个命令来推送、更新或设置数据。另请参阅此Firebase blog article。
2/使用JSON导入按钮
在控制台中,您会发现一个按钮,如下所示。您可以选择要上传数据的节点,但请注意,该节点中的所有现有数据将被覆盖。"
3/使用管理SDK
正如我们对Firestore所做的那样,您可以使用Admin SDK来管理实时数据库。
请注意,如果你试图一次性上传一个非常大的数据集,你可能会遇到数据库错误。然后你需要分块上传。
ca1c2owp2#
尝试https://firefoo.app/我刚刚开始使用它,它似乎工作得相当不错