MongoDB 导入 CSV 格式数据详细过程

主要介绍使用自带工具mongoimport工具将 CSV 格式数据导入到 MongoDB 的详细过程。

由于官方提供了mongoimport工具,所以实际上导入 CSV 格式数据的过程非常简单,再次体现了越是强大的工具使用起来越简单。

创建数据库

如果已经有要导入的数据库存在,忽略此步骤,直接查看“导入数据”部分即可。

首先启动 mongodb shell 控制台,直接在终端输入

mongo

即可。
这里写图片描述

查看数据库和列表
这里写图片描述
如果没有需要导入的数据库,可以创建一个,具体执行

show dbs
use network
db.myCollection.insertOne( { x: 1 } );
show dbs

show dbs:查看当前存在的数据库;

use network:这里network是上面查询结果中没有的,当没有时,使用use会自动创建一个新的数据库;

db.myCollection.insertOne( { x: 1 } );:为了能使show dbs时出现刚才创建的那个数据库,使用这条命令插入一条数据;

show dbs:查看刚创建的数据库。

我之前已经创建好数据库了,这里以将 csv 数据导入network1数据库为例。

导入数据

导入数据一句命令即可

mongoimport --db network1 --collection networkmanagement --type csv --headerline --ignoreBlanks --file /home/erik/Documents/networkmanagement-1.csv

--db network1:需要将数据导入到哪个数据库,这里以networ1数据库为例;
--collection networkmanagement:将数据导入的 collection 名,这里以networkmanagement为例,如果这个networkmanagement之前是不存在的,则会自动创建一个。如果省略--collection networkmanagement这个参数,那么会自动新建一个以 CSV 文件名为名的 collection。
--type csv:文件类型,这里是 csv;
--headerline:这个参数很重要,加上这个参数后创建完成后的内容会以 CSV 第一行的内容为字段名;
--ignoreBlanks:这个参数可以忽略掉 CSV 文件中的空缺值;
--file /home/erik/Documents/networkmanagement-1.csv:这里就是 csv 文件的路径了。

这里写图片描述

查看导入后的数据

这里使用 adminMongo 查看导入后的数据,这样更直观,adminMongo 安装过程可以参考:MongoDB可视化图形界面mongo-express/adminMongo安装过程

首先要启动 MongoDB

service mongod start

这里写图片描述

然后打开 adminMongo
进入到/usr/local/node/node-v6.11.2-linux-x64/lib/node_modules/admin-mongo,然后执行

npm start

这里写图片描述

启动完成后,在浏览器输入 http://0.0.0.0:1234
查看network1中的networkmanagement数据。
这里写图片描述

至此,数据导入完成。

 参考资料

mongoimport — MongoDB Manual 3.4:
https://docs.mongodb.com/manual/reference/program/mongoimport/

MongoDB Compass 是一个官方推荐的 MongoDB 数据库管理工具,它提供了一个直观的界面来连接、管理和可视化 MongoDB 数据库。然而,有时候可能会遇到无法导入数据的问题,这可能由以下几个原因导致: 1. **文件格式不支持**:Compass 可能只支持 JSON、CSV、BSON 或其他特定格式数据文件。如果你尝试导入文件格式不对,需要转换为适当格式。 2. **数据格式错误**:如果数据中存在语法错误或不符合预期的数据结构,Compass 在导入时会报错。检查文件内容是否有误或与数据库集合的定义是否匹配。 3. **权限问题**:如果你没有足够的权限来写入目标集合,Compass 也会提示导入失败。请确保你的账户拥有适当的 write 权限。 4. **连接问题**:网络连接不稳定或服务器不可达可能导致导入操作中断。检查网络连接和数据库服务器的状态。 5. **文件大小限制**:如果文件过大,超过 Compass 或服务器的默认导入限制,可能需要分批导入或者配置更大的限制。 6. **版本兼容性**:如果使用的 Compass 版本与 MongoDB 服务器的版本不匹配,可能导致导入问题。确保使用兼容的 Compass 版本。 7. **正在运行的操作**:如果数据库中正在进行写操作,可能会阻止导入。请确保在导入数据之前,没有其他写操作在执行。 为了解决这个问题,你可以按照以下步骤尝试: - 检查文件格式数据。 - 确保有足够的权限和正确的服务器连接。 - 如果有文件大小问题,尝试分割文件或调整限制。 - 更新到最新版本的 Compass 并确认版本兼容性。 - 确定没有其他并发操作阻碍导入。 如果问题依然存在,你可以寻求更详细的错误信息,或者尝试在命令行工具(如 `mongoimport`)中直接导入数据,以排除界面工具可能存在的问题。
评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值