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

uploading csv file to trigger firestore collection update

我正在尝试在管理面板中创建一个功能(使用 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')
);

很高兴我的回答对您有所帮助:) 此致!