首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将大量文档写入firestore

将大量文档写入firestore
EN

Stack Overflow用户
提问于 2021-05-08 22:05:32
回答 1查看 30关注 0票数 0

我有一个Excel工作表,其中包含5列数据,我希望将其添加到Firestore集合中。

为此,我编写了一个脚本来读取Excel并创建描述每列的5个ArrayLists。

最后,我有5个ArrayLists,每个都有大约27,000个条目。

现在,我希望在该集合中创建27,000个文档。

我如何迭代这27,000个项目来创建27,000个文档?

基本上我想做的是:

代码语言:javascript
复制
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次写入。

我该如何克服这种情况呢?

谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-05-10 17:44:13

我读到有一个WriteBatch,但它说它只支持多达500次写入。

是的,当前仅允许500次写入。你能做的是一次写500个文档,然后继续这样做,直到你在Firebase服务器上添加了所有27k个文档。Frank van Puffelen在以下答案中解释了执行这些写入操作的最佳/最快方法:

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67448413

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档