使用 mongoimport 导入本地 JSON 文件到 MongoDB 及数据查看指南

      在项目中,我们经常需要将本地 JSON 文件批量导入 MongoDB 数据库。本文以 Ubuntu 22.04 环境为例,详细记录了如何安装 mongoimport 工具、正确导入多个 JSON 文件,以及查看导入后的数据。


一、环境介绍

  • 操作系统:Ubuntu 22.04.5 LTS

  • MongoDB 版本:已安装并运行中

  • 目标数据库:database

  • 目标集合:instructions

  • 本地 JSON 文件目录:/home/yhzhao/sun/week1/test_result/


二、安装 mongoimport 工具(bash下)

Ubuntu 22.04 默认源没有 mongo-tools,需从 MongoDB 官方下载工具包:

wget https://fastdl.mongodb.org/tools/db/mongodb-database-tools-ubuntu2204-x86_64-100.9.4.tgz
tar -zxvf mongodb-database-tools-ubuntu2204-x86_64-100.9.4.tgz
cd mongodb-database-tools-ubuntu2204-x86_64-100.9.4
export PATH=$PATH:$(pwd)/bin

确认安装:

mongoimport --version

三、批量导入 JSON 文件

假设目录中每个 JSON 文件格式是多行独立 JSON 对象,例如:

{ "title": "任务1", "content": "步骤A" }
{ "title": "任务2", "content": "步骤B" }

批量导入命令:

for file in /home/yhzhao/sun/week1/test_result/*.json; domongoimport --db database --collection instructions --file "$file"
done

注意:不要加 --jsonArray,除非文件是标准 JSON 数组格式。


四、常见问题及解决

错误提示:

Failed: error reading separator after document #1: bad JSON array format - found no opening bracket '[' in input source

产生原因:

用了 --jsonArray,但 JSON 文件不是数组格式。

解决办法:

去掉 --jsonArray 参数,使用默认方式导入。


五、查看导入数据

进入 MongoDB shell:

mongosh --host localhost:27017 
mongosh
  1. 选择数据库

    use database
    
  2. 查看数据条数:

    db.instructions.countDocuments()
    
  3. 查看部分数据:

    db.instructions.find().limit(5).pretty()
    
  4. 查看集合列表:

    show collections
    
  5. 退出 shell:

    exit
    

    六、总结

    • Ubuntu 22.04 需手动安装 MongoDB Database Tools 来使用 mongoimport

    • JSON 文件格式决定是否需要 --jsonArray 参数;

    • 结合 Bash 循环批量导入多个文件;

    • 导入成功后,Mongo shell 提供简洁高效的数据查看方式。

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
    如若转载,请注明出处:http://www.pswp.cn/news/914662.shtml
    繁体地址,请注明出处:http://hk.pswp.cn/news/914662.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    新手向:Python数据处理Excel报表自动化生成与分析

    Python实现Excel报表自动化系统全流程指南本文将详细介绍如何使用Python实现一个完整的Excel报表自动化系统,涵盖从数据清洗、分析到可视化报表生成的全流程。本教程面向Python初学者,通过实际案例讲解pandas和openpyxl库的核心用法。系统概述Excel报表自…

    【第六节】docker可视化工具portainer安装

    该文章参考了这篇文章https://zhuanlan.zhihu.com/p/27740131259portainer是一个基于网页的docker可视化管理工具,试想一下我们怎么登录路由器管理界面的,异曲同工。那么就需要在服务器的docker内安装portainer,然后在我们的开发机或者说工作…

    使用 Certbot 申请和自动续签 Let’s Encrypt 的免费 SSL 证书

    一. Let’s Encrypt 介绍 Let’s Encrypt 是当前最常用的免费 HTTPS 证书生成工具之一。该服务由非营利组织提供,致力于为全球范围内的网站提供便捷的自动化证书颁发服务。虽然 Let’s Encrypt 证书的有效期只有90天,但是可以自动续期,这使得…

    【kubernetes】--controller(DaemonSet)

    Kubernetes DaemonSet 控制器详解 它确保集群中所有(或部分)节点上都运行一个 Pod 的副本。当有新节点加入集群时,DaemonSet 会自动在新节点上创建 Pod;当节点从集群中移除时,这些 Pod 也会被垃圾回收。 DaemonSet 的核心特性 每个节点一个 P…

    内测分发平台应用的异地容灾和负载均衡处理和实现思路

    内测分发平台应用的异地容灾和负载均衡处理和实现思路如下:一、异地容灾1.风险评估和需求分析:对现有的IT基础设施进行全面的风险评估和需求分析,评估潜在风险和灾害的可能性,以及确定业务和数据的关键性。2.设计备份架构&#xf…

    【Vue】浏览器缓存 sessionStorage、localStorage、Cookie

    嘿,各位 Vue 开发者们!今天咱们来好好聊聊浏览器里的三种缓存方式:sessionStorage、localStorage 和 Cookie。在实际开发中,合理运用这些缓存能让我们的应用性能大幅提升,同时避免一些不必要的问题。下面就跟着我的笔记…

    c#如何将不同类型的数据存储到一起

    在 C# 中,存储不同类型的数据有多种方式,具体选择取决于你的需求(类型安全、性能、灵活性等)。以下是常见的解决方案及其适用场景:1. 使用 object 类型(装箱 / 拆箱)将所有数据转换为基类 objec…

    超唯美治愈风卡通插画PPT模版

    海洋卡通风治愈系PPT模版,儿童可爱治愈可爱PPT模版,治愈风商务通用PPT模版,治愈系课件PPT模版,治愈风插画PPT模版,超唯美治愈风PPT模版,可爱插画治愈系女孩PPT模版 超唯美治愈风卡通插画PPT模版&#xff1a…

    el-tooltip 快速滚动的时候出现残影如何解决 vue3

    <el-tooltip:disabled"isScrolling" <!-- 新增滚动状态绑定 -->:popper-options"{ modifiers: [{ name: computeStyles, options: { adaptive: false }] }"effect"dark":content"label.name"placement"right-start"…

    【经典面经】C++新特性 TCP完整收发数据 TLS1.2 TLS1.3

    文章目录cpp新特性C11C14C17C20tcp如何保证完整收发数据结论1. **面向连接的三次握手**2. **字节序号与确认机制**3. **校验和&#xff08;Checksum&#xff09;**4. **超时重传与快速重传**5. **滑动窗口&#xff08;流量控制&#xff09;**6. **数据重组与排序**7. **四次挥手…

    Spring AI 系列之十一 - RAG-进阶RetrievalAugmentationAdvisor

    之前做个几个大模型的应用&#xff0c;都是使用Python语言&#xff0c;后来有一个项目使用了Java&#xff0c;并使用了Spring AI框架。随着Spring AI不断地完善&#xff0c;最近它发布了1.0正式版&#xff0c;意味着它已经能很好的作为企业级生产环境的使用。对于Java开发者来说…

    [TOOL] ubuntu 使用 ffmpeg 操作 gif、mp4

    文章目录一、工具安装二、gif 转mp4三、mp4 两倍速一、工具安装 安装 ffmpeg 工具&#xff1a; sudo apt install ffmpeg二、gif 转mp4 1. 配置环境 核心指令: ffmpeg -i input.mp4 -filter_complex "[0:v]setpts0.5*PTS[v];[0:a]atempo2.0[a]" -map "[v]&q…

    linux中INIT_MM_CONTEXT宏对pgd的重复赋值

    在GNU C中&#xff0c;支持通过标号元素对指定结构体成员名进行初始化&#xff0c;这允许初始化值以任意顺序出现。在linux内核中对init_mm初始化时有如下代码。#define INIT_MM_CONTEXT(name) \.pgd init_pg_dir,struct mm_struct init_mm {.mm_rb RB_ROOT,.pgd swapper…

    第十五章 STL(stack、queue、list、set、map容器使用)

    栈stack使用&#xff1a;队列queue双向循环链表listlist构造函数list 赋值和交换list 大小操作list 插入和删除list 数据存取list 反转和排序排序算法sort降序操作排序案例#include<iostream> using namespace std; #include<list>class Person { private:string n…

    【论文阅读】HCCF:Hypergraph Contrastive Collaborative Filtering

    论文出处&#xff1a;SIGIR 2022 CCF-A 论文地址&#xff1a;Hypergraph Contrastive Collaborative Filtering 论文代码&#xff1a;akaxlh/HCCF: HCCF, SIGIR 2022 目录 摘要 介绍 研究背景与核心问题 现有方法局限性 HCCF的创新解决方案 技术优势 定义与相关工作 …

    Retrofit+RxJava:打造声明式REST客户端的艺术 —— 像点咖啡一样调用API

    目录一、告别Callback地狱&#xff1a;声明式编程的魅力1.1 传统网络请求的痛点1.2 Retrofit的声明式革命二、Retrofit核心配置工厂2.1 构建Retrofit实例2.2 常用注解速查表三、RxJava响应式魔法3.1 链式调用优雅变身3.2 超能力操作符盘点四、实战演练&#xff1a;构建天气查询…

    【离线数仓项目】——任务调度与数据可视化实战

    摘要 本文主要围绕离线数仓项目中的任务调度与数据可视化实战展开&#xff0c;介绍了业务流程虚拟节点、离线数仓任务调度、数据可视化等方面的内容&#xff0c;涉及DataWorks和QuickBI等工具的使用&#xff0c;并提供了相关的博文参考和项目实战域信息。 1. 任务调度管理实战…

    【视频格式转换】.264格式转为mp4格式

    背景 视频格式转换是多媒体处理中的常见需求&#xff0c;尤其在视频编辑、存储或跨平台播放时。H.264&#xff08;即AVC&#xff09;是一种广泛使用的视频编码标准&#xff0c;以其高压缩率和良好兼容性著称&#xff0c;但通常以容器格式&#xff08;如.264裸流文件&#xff0…

    JAVA学习笔记 使用notepad++开发JAVA-003

    目录 1 前言 2 部署notepad的java开发环境 2.1 下载并安装notepad 2.2 设置新建文件的语言 2.3 安装NppExec插件 2.4 编写JAVA脚本 2.5 设置脚本执行快捷键 2.6 效果测试 3 小结 1 前言 JAVA可以使用记事本来编写代码&#xff0c;但是这种方式效率十分低下。我们可以使…

    Vue Router 完全指南:从入门到实战,高效管理前端路由

    前言在现代化的前端开发中&#xff0c;路由管理是构建单页应用&#xff08;SPA&#xff09;的核心功能之一。Vue.js 作为主流的前端框架之一&#xff0c;提供了强大的官方路由库Vue Router&#xff0c;帮助开发者高效管理页面跳转、动态加载、权限控制等关键需求。无论是构建企…