firebase - 上传 csv 文件以触发 firestore 集合更新

标签 firebase google-cloud-firestore google-cloud-functions antd

我正在尝试在管理面板中创建一个功能(使用 React 和 Antd 框架)。

我目前的 csv 文件中有大约 15000 ~ 20000 用户信息。此 csv 文件会定期更新。由于我有一个相当大的列表,我正在考虑创建一个上传功能,管理员可以上传定期更新的 csv 文件,以便将其转换为 JSON,并且仅将选定的字段存储到 firestore。这意味着每次我上传新文件时,所有 15000~20000 (26mb) 数据记录都会被覆盖。 创建这种工作流程效率低吗?这些数据有可能会变得更大,因此我无法手动更新它们。

有人可以给我一些关于如何处理这种情况的建议吗?

最佳答案

浏览器允许上传 2 到 4(有些甚至更大)(GB) 的最大文件大小,因此您的文件不会很大。 我以前曾经处理过这样的任务,可以说 antd table 很容易做到这一点。只是过滤器工作得有点慢。

这是我做的一个例子

import React, {useState} from 'react';
import ReactDOM from 'react-dom';


const columns = [
   /** Here was my columns */
]

const App = () => {
    const [data, setData] = useState([]);

    const handleUpload = (e) => {
        const file = e.target.files[0];
        const reader = new FileReader();
        reader.onload = event => {
            try {
                const result = event.target.result;
                setData(JSON.parse(result));
            } catch (e) {
                console.log(e)
            }
        }
        reader.readAsText(file);
    }

    return (
        <>
            <input type="file" onChange={handleUpload}/>
            <Table
                columns={columns}
                dataSource={data}
            />
        </>
    )
}

ReactDOM.render(
    <App/>,
    document.getElementById('root')
);

很高兴我的回答对您有帮助:)问候!

关于firebase - 上传 csv 文件以触发 firestore 集合更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68326811/

相关文章:

angular-cli Firebase 托管 Angular 2 路由器不工作

angular - 由于 Firebase 的 IDBIndex 错误,无法提供服务器呈现的应用程序

node.js - Firestore 中什么算作读取操作?

firebase - 查询多个引用 ID 上的 Firebase 数据

ios - 如何在 iOS 中禁用 Firebase/Core 调试消息

firebase - 我可以通过请求向 Firestore 规则发送值吗

javascript - 将 firebase DB 操作传递给 Node 是否有优势,或者只是让客户端 JS 处理它们?

firebase - 如何使用Firebase托管预览 channel 测试云功能?

ios - 我可以从 Firebase 云函数发送静默推送通知吗?

javascript - 安排 Firebase 身份验证 :export to bucket using pubsub