我有一个Excel工作表,其中包含5列数据,我希望将其添加到Firestore集合中。
为此,我编写了一个脚本来读取Excel并创建描述每列的5个ArrayLists。
最后,我有5个ArrayLists,每个都有大约27,000个条目。
现在,我希望在该集合中创建27,000个文档。
我如何迭代这27,000个项目来创建27,000个文档?
基本上我想做的是:
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次写入。
我该如何克服这种情况呢?
谢谢
发布于 2021-05-10 17:44:13
我读到有一个WriteBatch,但它说它只支持多达500次写入。
是的,当前仅允许500次写入。你能做的是一次写500个文档,然后继续这样做,直到你在Firebase服务器上添加了所有27k个文档。Frank van Puffelen在以下答案中解释了执行这些写入操作的最佳/最快方法:
https://stackoverflow.com/questions/67448413
复制相似问题