java将大量文档写入firestore
我有一个Excel表格,其中包含5列数据,我想将这些数据添加到Firestore集合中
为了做到这一点,我编写了一个脚本来读取Excel并创建5个描述每列的ArrayList
最后,我有5个ArrayList,每个ArrayList中大约有27000个条目
我想在这个集合中创建27000个文档
我如何迭代这些27000项来创建27000个文档
基本上我想做的是:
private void addData2DB(ArrayList<String> titles, ArrayList<String> authors,ArrayList<String> publishers, ArrayList<String> genres, ArrayList<String> pages){
for (int i = 0; i < titles.size(); i++) {
Map<String, Object> data = new HashMap<>();
data.put("title", titles.get(i));
data.put("author", authors.get(i));
data.put("publisher", publishers.get(i));
data.put("genre", genres.get(i));
data.put("pages", pages.get(i));
db.collection("users")
.add(data)
.addOnSuccessListener(new OnSuccessListener<DocumentReference>() {
@Override
public void onSuccess(DocumentReference documentReference) {
}
})
.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
}
});
}
}
我读到有一个WriteBatch
,但它说它最多只支持500次写入
我怎样才能克服这种情况
多谢各位
# 1 楼答案
是的,当前只允许500次写入。您可以一次编写500个文档,并以这种方式继续,直到您将所有27k文档添加到Firebase服务器上。Frank van Puffelen在以下答案中解释了执行这些写入操作的最佳/最快方式: