如何以编程方式将Excel / CSV数据导入MongoDB集合/文档MERN

问题描述

我有一个包含员工数据的Excel工作表。我的任务是将Excel文件中的数据存储在MongoDB数据库>员工集合中(mongodb文档中excel表的一行)。我正在React应用程序中完成所有这些工作。我想到了使用mongoimport。由于我需要CSV或Json格式的文件,因此我使用SheetJs npm软件包将excel文件转换为CSV,并创建了csv类型的blob文件。然后使用下面的命令,我可以将该CSV文件导入到我的mongoDB数据库中。

mongoimport --db demo --collection employees --type csv --headerline --file /path/to/myfile.csv

但是我通过mongo shell提供本地磁盘的路径来做到这一点。现在,我正在尝试在我的应用程序中实现这一点。最初,我遵循了这个想法-上传Excel文件后,我便将其转换为CSV文件,然后我将在正文中调用包含该CSV文件的api。发送该请求后,我将在我的nodejs后端/服务器中调用“ mongoimport”命令,以便将该CSV文件中的数据存储在mongoDb集合中。现在,我找不到以编程方式解决usmongoimport命令的任何解决方案。如何在我的nodejs服务器代码调用“ Mongoimport”命令?我找不到有关它的任何文档。

如果这不是完成此任务的正确方法,请向我建议其他完全其他的方法来完成此任务。 用Layman的术语,我想使用Reactjs / nodejs应用程序将数据从excel文件导入到MongoDb数据库

解决方法

你好吗? 首先,mongoimport还允许您导入TSV文件(与CSV相同的命令,但输入--type tsv),与Excel一起使用要友好得多。

关于mongoImport,很遗憾地报告,除命令行以外,不能以任何其他方式使用mongoImport。

您可以从NodeJ上执行的操作是,执行命令的方式与由终端执行命令的方式相同。为此,您可以使用child_proccess ModuleExec Function。 我希望这会有所帮助。 问候!