山东大学软件学院nosql实验二

devtools/2025/2/27 21:55:54/

实验二  熟悉环境、建立/删除表、插入数据

实验内容:

创建命名空间(user+学号,例如user201500300001),设计表结构并创建表,将附件数据插入。

实验步骤与内容:

方法一:

对于csv文件的插入,我们可以使用MongoDB Database Tools这个工具,它提供了$ mongoimport命令用来插入数据。

  1. 首先创建命名空间:在compass连接数据库成功后,输入use user2022003XXXX,命名空间创建成功:

mongoimport --db [数据库名] --collection [集合名] --type csv --headerline --upsert --ignoreBlanks --file /home/1.csv

--db:需要将数据导入到哪个数据库,跟数据库名。

--collection:将数据导入的 collection 名,如果这个collection之前是不存在的,则会自动创建一个。如果省略--collection这个参数,那么会自动新建一个以 CSV 文件名为名的 collection。

--type csv:文件类型,这里是 csv;

--headerline:这个参数很重要,加上这个参数后创建完成后的内容会以 CSV 第一行的内容为字段名;

--upsert:如果导入的数据已经存在于数据库中,则更新现有文档。如果未找到匹配的文档,则插入新文档;

--ignoreBlanks:这个参数可以忽略掉 CSV 文件中的空缺值;

--file /home/1.csv: csv 文件路径。

2.首先我们需要下到MongoDB官网下载tools这个工具,然后,并将bin填添入到系统环境变量中

3.之后打开命令行,输入导入csv文件的命令:比如:mongoimport -h 127.0.0.1 -d user202200300224 -c course --type csv --headerline --upsert --file E:\小刘的桌面\NOSQL实验lpy\course.csv就可以将csv文档数据导入到user202200300224这个数据库里的course这个collection中

4.以此类推,即可将所有的实验数据都导入进去:

5.在导入过程中,由于个人操作的失误,误创建了一个course_course的collection,根据实验要求要对其进行删除:首先要使用use命令切换到user202200300224这个数据库,才能对其里面的collection进行操作,然后使用

db.course_course.drop()

命令将其删除即可

方法二:

另外还可以使用更加方便的Compass自带的图形化命令进行数据文件的导入:

1.创建命名空间:在compass连接数据库成功后,输入use user202200300224,命名空间创建成功:

  1. 使用MongoDB Compass这个图形化界面创建collection集合,在此处因为刚开始对实验内容了解不清楚,所以数据库名暂时写为experiment,在最后一步,会将其改为user202200300224。首先点击localhost:27017右侧的+号,创建database和collection

  1. 创建完成后,点击ADDDATA按钮,选择以csv文件格式导入,在确认无误后,即可导入

  1. 导入成功后即可在course表中看到导入的数据

  1. 重复此操作,即可将student、student_course、teacher、teacher_course表也相继导入进来

  1. 因为之前一步的操作,把数据库命名错误,所以需要按照实验要求,将其重命名,MongoDB数据库其实没法重新命名,它是使用admin账户,将转移数据库的集合到新命名的数据库
    # db.runCommand({"renameCollection":"yourdbname.yourcollection", "to":"newdbname.yourcollection"})

重复此操作即可将所有的collection放入user202200300224数据库中,并且experiment数据库自动drop掉。


http://www.ppmy.cn/devtools/163173.html

相关文章

nginx 配置https

参考文档:nginx 文档 -- nginx官网|nginx下载安装|nginx配置|nginx教程 配置 HTTPS 服务器 HTTPS 服务器优化 SSL 证书链 单个 HTTP/HTTPS 服务器 基于名称的 HTTPS 服务器 具有多个名称 的 SSL 证书 服务器名称指示 兼容性 要配置 HTTPS 服务器,ssl…

VSCode离线安装插件

最近在其他电脑设备上部署vscode环境出现问题,在vscode里直接安装插件失败,软件提示如下:(此前已经用此方法安装过中文插件) 这里我们选择手动下载,会自动在浏览器中跳转到该插件的下载链接并自动下载插件&…

【MySQL】索引(上)

欢迎拜访:雾里看山-CSDN博客 本篇主题:【MySQL】索引(上) 发布时间:2025.2.26 隶属专栏:MySQL 目录 初始索引基本介绍常见索引分类案例使用 认识磁盘MySQL 与 存储关于磁盘关于扇区定位扇区结论磁盘随机访问(Random Access)与连续…

爬虫框架与库

爬虫框架与库是用于网络数据抓取的核心工具,帮助开发者高效地从网页中提取结构化数据。 Requests:用于发送HTTP请求。 BeautifulSoup:用于解析HTML和XML。 Scrapy:强大的爬虫框架,适合大规模爬取。 Selenium&#…

<tauri><rust><GUI><PLC>基于tauri,编写一个串口485调试助手

前言 本文是基于rust和tauri,由于tauri是前、后端结合的GUI框架,既可以直接生成包含前端代码的文件,也可以在已有的前端项目上集成tauri框架,将前端页面化为桌面GUI。 环境配置 系统:windows 10平台:visual studio code语言:rust、javascript库:tauri2.0概述 本文基…

一、常见的数据库分类及其区别

常见的数据库分类及其区别 数据库可以根据其数据模型、存储方式和使用场景分为多种类型。以下是常见的数据库分类及其主要区别: 1. 关系型数据库(RDBMS) 特点 数据以表的形式存储,表由行和列组成。使用**SQL(结构化…

win32汇编环境,加速键的应用示例

;运行效果 ;win32汇编环境,加速键的应用示例 ;加速键,就是按某个键,开启某个功能。不用鼠标点来点去的东西。 ;直接抄进RadAsm可编译运行。重要部分加备注。 ;下面为asm文件 ;>>>>>>>>>>>>>>>>>>…

【Java项目】基于Spring Boot的火车订票管理系统

【Java项目】基于Spring Boot的火车订票管理系统 技术简介:采用Spring Boot框架、Java技术、MySQL数据库等实现。 系统简介:火车订票管理系统是一个面向管理员和用户的在线订票平台,主要分为前台和后台两大模块。前台功能模块包括&#xff08…