如何定期将大型JSON数据集导入云Firestore?
我正在尝试导入带有180k记录的JSON。正如您在这段代码中看到的,每次运行我可以上载500条记录,但我需要定期上载180k条记录 我正在努力实现的目标:如何定期将大型JSON数据集导入云Firestore?,json,firebase,flutter,parsing,google-cloud-firestore,Json,Firebase,Flutter,Parsing,Google Cloud Firestore,我正在尝试导入带有180k记录的JSON。正如您在这段代码中看到的,每次运行我可以上载500条记录,但我需要定期上载180k条记录 我正在努力实现的目标: factory Academician.fromJson(Map<String, dynamic> json) => Academician( // Using this to parse data from JSON, // rating and reviewList does not e
factory Academician.fromJson(Map<String, dynamic> json) => Academician(
// Using this to parse data from JSON,
// rating and reviewList does not exist in JSON,
// that's why i need custom model
name: json["name"] ?? "",
designation: json["designation"] ?? "",
field: json["field"] ?? "",
universityName: json["university"] ?? "",
department: json["department"] ?? "",
rating: 0,
reviewList: [],
);
parseJsonFromAssets('json/akademik_kadro.json')
.then((value) => value['Sayfa1'].forEach((value) {
academicianList.add(Academician.fromJson(value));
}))
.then((value) {
setState(() {
for (int z = 0; z < 500; z++) {
//500 is the single time upload limit to Cloud Firestore
//I guess
dbOperation.addToCollection(academicianList[z]);
}
});
});
factory Academician.fromJson(Map<String, dynamic> json) => Academician(
// Using this to parse data from JSON,
// rating and reviewList does not exist in JSON,
// that's why i need custom model
name: json["name"] ?? "",
designation: json["designation"] ?? "",
field: json["field"] ?? "",
universityName: json["university"] ?? "",
department: json["department"] ?? "",
rating: 0,
reviewList: [],
);
parseJsonFromAssets('json/akademik_kadro.json')
.then((value) => value['Sayfa1'].forEach((value) {
academicianList.add(Academician.fromJson(value));
}))
.then((value) {
setState(() {
for (int z = 0; z < 500; z++) {
//500 is the single time upload limit to Cloud Firestore
//I guess
dbOperation.addToCollection(academicianList[z]);
}
});
});
工厂院士.fromJson(Map json)=>院士(
//使用它来解析JSON中的数据,
//JSON中不存在评级和审核列表,
//这就是为什么我需要定制模型
名称:json[“名称”]??“,
名称:json[“名称”]??“,
字段:json[“字段”]??“,
大学名称:json[“大学”]??“,
部门:json[“部门”]??“,
评级:0,
评审名单:[],
);
解析并上传到云Firestore:
factory Academician.fromJson(Map<String, dynamic> json) => Academician(
// Using this to parse data from JSON,
// rating and reviewList does not exist in JSON,
// that's why i need custom model
name: json["name"] ?? "",
designation: json["designation"] ?? "",
field: json["field"] ?? "",
universityName: json["university"] ?? "",
department: json["department"] ?? "",
rating: 0,
reviewList: [],
);
parseJsonFromAssets('json/akademik_kadro.json')
.then((value) => value['Sayfa1'].forEach((value) {
academicianList.add(Academician.fromJson(value));
}))
.then((value) {
setState(() {
for (int z = 0; z < 500; z++) {
//500 is the single time upload limit to Cloud Firestore
//I guess
dbOperation.addToCollection(academicianList[z]);
}
});
});
parsejsonfromsets('json/akademik_kadro.json'))
.然后((值)=>value['Sayfa1'].forEach((值){
academicianList.add(Academician.fromJson(value));
}))
.然后((值){
设置状态(){
对于(intz=0;z<500;z++){
//500是云Firestore的单次上传限制
//我想
dbOperation.addToCollection(academicianList[z]);
}
});
});
您似乎已达到500的上限
极限
细节
最大API请求大小
10 MiB
可传递给提交操作或在事务中执行的最大写入数
500
在提交操作或事务中可以对单个文档执行的最大字段转换数
500
因此,我必须为此使用云函数?如果您想安排导入,那么是的。