MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法

这篇具有很好参考价值的文章主要介绍了MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

序言

兴趣使然,突发奇想,想到了就写,就当打发时间了。

一、使用 csv 导入数据的命令方法

csv文件路径问题,绝对路径和相对路径都可以

方法1

type 没有=号,也是可以的,空格自动识别

测试表.csv 文件导入到 mongodatabase 库,mycollection 集合中,导入时必须指定列名称 (如果 csv 文件第一行是列名称,也会被当成数据导入到数据库中),这个方法在初始化 mongo 数据库集合时非常不好,除非是补充集合数据,就另当别论了

使用 ip:端口号 用户密码 连接mongoDB

mongoimport --host xxx.xxx.xx.xxx:9527 -u myuser -p 123456 -d mongodatabase -c mycollection --type csv --fields "name,sex,age" --file ./测试表.csv

–fields 指定导入到集合的字段名,如 name、sex、age 如果集合内存在这三个字段,那么csv 文件中的三个列数据会一一对应,比如 测试表.csv 内的测试数据如下所示:

name sex age
张三 20
李四 23
小明 18

(注意如果是补充集合的数据,那么 csv 文件内的 name、sex、age 行数据头,需要删除整行)只需要如下数据:

张三 20
李四 23
小明 18
张三 20
李四 23
小明 18

方法2 (推荐该导入命令方法,初始化MongoDB集合数据)

导入数据时,指定字段类型进行导入 (注意:csv文件第一行不要有字段名称)

演示模板:

mongoimport --host xxx.xxx.xx.xxx:9527 -u myuser -p 123456 -d mongodatabase -c mycollection --type csv --columnsHaveTypes --fields "name.string(),sex.string(),age.int32(),password.int32()" --file ./测试表.csv

这个可以指定导入的字段数据格式,如 name 和 sex 字段的数据可以指定为 字符串格式 string,age 字段的格式可以指定为 NumberInt()

有一个问题是如果数据内存在数字长度超过10个的数据,那么就会报如下错误:

2023-04-21T18:23:45.466+0800    Failed: type coercion failure in document #0 for column 'password', could not parse token '12345678901' to type int32
2023-04-21T18:23:45.466+0800    imported 0 documents

MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法
所以需要把 int32() 改为 int64(),就会自动转换数字长度超过 10 个的数据为 NumberLong()

演示模板:

mongoimport --host xxx.xxx.xx.xxx:9527 -u myuser -p 123456 -d mongodatabase -c mycollection --type csv --columnsHaveTypes --fields "name.string(),sex.string(),age.int64(),password.int64()" --file ./测试表.csv

MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法

方法3

将测试表.csv文件导入到 mongodatabase 库,mycollection 集合中,使用 --headerline 参数,指定使用csv文件第一行内的字段名,作为文档的字段名称

mongoimport --host xxx.xxx.xx.xxx:9527 -u myuser -p 123456 -d mongodatabase -c mycollection --type csv --headerline --file ./测试表.csv

(作为初始化mongodb 数据库,稍微不错,有一点要注意,如果是纯数字的字段数据,那么会被自动识别为 NumberInt() 格式,比较长的会被识别为 NumberLong()

比如下面是笔者使用 Studio 3T 查看的测试数据类型:
MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法

MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法
MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法
笔者经过数轮 mongoimport 工具导入测试,测试得出,如果数字长度是小于等于10的数据,会自动转换为 NumberInt() 格式,如果是大于10的数字长度,就会转换为 NumberLong()

方法4 (这个我直接引用参考链接的说法)

不带-c参数导入数据,会使用文件名做为集合名,导入后集合名称为 czg_t2
mongoimport -h 127.0.0.1:27017 --authenticationDatabase=admin -u root -p c123456 -d czg --type=csv --headerline /root/mongo_export/czg_t2.csv

这个一般都会指定导入的集合,也就不多说。


参考链接

1. MongoDB mongoimport 从csv导入数据指定字段类型

二、图形界面可视化导入方法

使用Studio 3T可视化mongodb 连接工具MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法

如果是用其导入csv 文件数据,大概率会遇到中文乱码问题,还有字段格式问题,比如数字会大概率转换为字符串数字,导出 csv 文件时,时间格式会有问题,自动给你转换成一个 UTC 世界时间,而不是北京时间(东八区时区)

中文乱码解决方法传送门:
Windows10 Excel 如.csv文件编码问题转为 UTF-8 编码方法,解决中文乱码问题(如MongoDB导入 CSV 文件中文乱码问题)、解决科学计数显示问题


三、按时间过滤导出(随手一记)

传送门:

mongoexport带过滤条件导出文章来源地址https://www.toymoban.com/news/detail-421514.html

到了这里,关于MongoDB 数据库数据导入 - 关于如何使用 csv 导入数据的命令方法、图形界面可视化导入方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 使用秘籍|如何实现图数据库 NebulaGraph 的高效建模、快速导入、性能优化

    使用秘籍|如何实现图数据库 NebulaGraph 的高效建模、快速导入、性能优化

    本文整理自 NebulaGraph PD 方扬在「NebulaGraph x KubeBlocks」meetup 上的演讲,主要包括以下内容: NebulaGraph 3.x 发展历程 NebulaGraph 最佳实践 建模篇 导入篇 查询篇 NebulaGraph 自 2019 年 5 月开源发布第一个 alpha 版本以来,陆陆续续发布了 2.0 GA,到现在 v3.6.0,已经是 v3.x 版本中比较后期

    2024年02月10日
    浏览(10)
  • 100万数据,如何快速的导入数据库?

    100万数据,如何快速的导入数据库?

    数据导出、导入是非常常见的开发操作,但在这个过程中,很多开发者都会遇到诸如数据乱码、数据格式不支持、数据量太大等问题。NineData 最新发布的数据导入功能,帮助用户在保障数据完整和准确的同时,轻松地将大量的数据从文件中导入到目标数据库中。 NineData 的数据

    2024年02月09日
    浏览(6)
  • Python使用MongoDB数据库

    MongoDB是一种流行的NoSQL数据库,可以用于存储和管理大量的非结构化或半结构化数据。Python是一种流行的编程语言,也可以使用MongoDB来存储和管理数据。在本文中,我们将介绍如何使用Python访问MongoDB数据库。 安装MongoDB和Python驱动程序 首先,您需要安装MongoDB数据库和Python的

    2024年02月10日
    浏览(38)
  • 使用 Docker 安装 MongoDB 数据库

    by emanjusaka from https://www.emanjusaka.top/2024/01/docker-create-mongo-db 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址。 -d 后台运行 --restart=always 自动重新启动 --privileged 允许容器以特权模式运行 -v /opt/doc/data:/data/db 数据挂载 -p 27017:27017 端口挂载 --auth 启用了身份验证

    2024年01月18日
    浏览(9)
  • 如何配置固定TCP公网地址实现远程访问内网MongoDB数据库

    如何配置固定TCP公网地址实现远程访问内网MongoDB数据库

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格

    2024年03月14日
    浏览(7)
  • Navicat如何把数据库导入(超详细图解)

    Navicat如何把数据库导入(超详细图解)

    步骤图解: 工具版本:15.0.23 1.打开Navicat,并连接数据库 2.鼠标右键“localhost_3306”,点击“新建数据库”。 3.输入数据库名称,字符集选择“utf8”,排序规则选择“ utf8_general_ci”,点击“确定”。 4.双击新建好的“数据库”。右键点击“运行SQL文件”。 5。选择文件,这个

    2024年02月12日
    浏览(8)
  • NoSql数据库及使用Python连接MongoDB

    NoSql数据库及使用Python连接MongoDB

    NoSQL 数据库是非关系数据库,不使用结构化查询语言 (SQL) 进行数据操作。相反,他们使用其他数据模型进行访问和数据存储。SQL 数据库通常用于处理结构化数据,但它们可能不是处理非结构化或半结构化数据的最佳选择。 NoSQL 数据库提供了快速高效地存储和检索大量数据的

    2024年02月09日
    浏览(29)
  • 如何将 .sql 文件导入到 MySQL 数据库?

    导入 SQL 文件到 MySQL 数据库是一个常见的任务,本文将介绍如何执行该操作。我们将逐步讲解具体的步骤,帮助您完成这个过程。 首先,在您的计算机上打开命令提示符或终端窗口。这将是执行导入操作的地方。 在执行导入操作之前,请确保您的计算机已安装并且可以从命

    2024年02月11日
    浏览(7)
  • window10 使用docker 本地安装部署mongodb数据库

    window10 使用docker 本地安装部署mongodb数据库

    一、window10 安装docker 可以参看笨鸟教程【Windows Docker 安装】 安装完后的Docker Desktop是这个样子: 原始的docker镜像拉取仓库速度较慢,为了方便docker拉取镜像,可以设置国内的加速镜像,如:阿里 云、有道等【镜像加速】: 二、docker下载运行mongodb镜像 1 直接在 windows powerShel

    2024年02月03日
    浏览(9)
  • 在Node.js中使用MongoDB连接数据库、创建集合

    在Node.js中使用MongoDB连接数据库、创建集合

    本文主要介绍在Node.js中使用MongoDB连接数据库、创建集合的方法。 在Node.js中使用MongoDB连接数据库有两种方式:使用原生驱动程序和使用Mongoose。 首先,需要安装 mongodb 模块。可以通过以下命令来安装: 安装完成后,可以在代码中引入模块: 接着,可以使用 MongoClient 来连接

    2024年02月04日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包