IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 分布式数据库Mongodb——实验一 -> 正文阅读

[大数据]分布式数据库Mongodb——实验一

目录

1.创建MongoDB数据库实验环境

2.使用MongoShell脚本导入数据

3.?查询students集合,只返回一条数据

4.?根据你查询出来的记录的结构,使用你自己的数据,构造一个文档,并将这个文档写入students集合

5.??根据你自己的记录数据,查询比你长得高或者和你一样高的学生记录

6.?根据你自己的记录数据,查询体重和你相差不超过3kg的学生记录

7.??统计你所在专业的学生人数

8.?列出大数据专业所有课程的名称

9.?将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})

10.?找到你班上身高最高的3名同学,并删除这些记录


1.创建MongoDB数据库实验环境

要求:

-?服务器地址:localhost(127.0.0.1)

-?服务端口:27027

-?存储目录命名:你的姓名拼音首字母(比如:tgy)

-?日志文件:放在存储目录下,以mongod.log命名

记得去添加环境变量,添加完再继续往下

创建配置文件如下

?

storage:
  dbPath: D:\MongoDB\(名字缩写)\db#dbpath路径
  journal:
    enabled: true
  engine: mmapv1
systemLog:
  destination: file
  logAppend: true
  path: D:\MongoDB\(名字缩写)\mongod.log#log日志路径
net:
  port: 27027#端口号
  bindIp: 127.0.0.1
  maxIncomingConnections: 10000

然后打开你的cmd,输入以下命令使其生效

mongod --config=(这个配置文件的路径)

启动,在你的cmd里面输入

mongod --dbpath=D:\MongoDB\(你的名字缩写)\db --port=27027

然后去你的navicat里面创建一个mongodb连接,像这样

2.使用MongoShell脚本导入数据

GenerateStudents .js

通过外部文件查询导入,然后运行就行了,这里不演示了,不懂再问吧

3.?查询students集合,只返回一条数据

//选择当前数据库
use cqust;
//查看当前数据库包含的集合
show tables;
//查询集合中的一条数据
db.students.findOne();

4.?根据你查询出来的记录的结构,使用你自己的数据,构造一个文档,并将这个文档写入students集合

将内容复制过去,改一下就行了

//构建我的数据
var mydata={
    "sno": 20205201314,
    "name": "中意",
    "gender": 1,
    "body": {
        "height": 170,
        "weight": 50
    },
    "list": [
        4,
        5,
        4
    ],
    "phone": "19112404983",
    "role": "student",
    "major": "大数据",
    "grade": 2020,
    "class": 2,
    "courses": [
        {
            "course": "结构化数据存储与应用",
            "credit": 2,
            "score": 61
        }
    ]
};
//将我的数据插入students这个集合
db.students.insertOne(mydata);

?插入成功

5.??根据你自己的记录数据,查询比你长得高或者和你一样高的学生记录

//查询比我长得高的或一样高的学生记录
var query={"body.height":{$gte:170}};//查询条件
var projection={};//返回条件
db.students.find(query,projection);

?

6.?根据你自己的记录数据,查询体重和你相差不超过3kg的学生记录

//查询体重和我相差不超过3kg的学生记录
var query={$and:[{"body.weight":{$lte:53}},{"body.weight":{$gte:47}}]}//查询条件
var projection={}//返回条件
db.students.find(query,projection)

7.??统计你所在专业的学生人数

//统计我所在专业的人数
var query={"major":"大数据"}//查询条件
db.students.count(query)

8.?列出大数据专业所有课程的名称

//列出大数据所有专业课程的名称
var query={"major":"大数据"}
db.students.distinct("courses.course",query)

9.?将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})

//将你所在班级的所有同学标记为同班同学(增加一个新字段:{'关系':'同班同学'})
var document={"关系":"同班同学"}
var query={$and:[{"class":2},{"grade":2020},{"major":"大数据"}]}
db.students.aggregate( [
{$match:query},//查询条件
{$set:document},//字段更新
{$match:query}//查询条件
] )

10.??找到你班上身高最高的3名同学,并删除这些记录

//找到你班上身高最高的3名同学,并删除这些记录
var query={$and:[{"class":2},{"grade":2020},{"major":"大数据"}]}
//db.students.aggregate({$match:query},
//{$sort:{"body.height":-1}})
data=db.students.aggregate({$match:query},
{$sort:{"body.height":-1}},//按照指定字段排序
{$limit:3},//只要前三个
{$project:{_id:1}}//取唯一标识_id(son也行)
).toArray()//转换为数组
db.students.deleteMany({$or:data})
//db.students.aggregate({$match:query},
//{$sort:{"body.height":-1}})

?删除前

删除成功

删除后

?后面可能会更新mongodb的安装(有时间的话),有问题的可以私信,因为自己所做,有些地方可能有错误,还请大家斧正,同样收到问题会实时更新的,最后求个赞。

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-11-05 00:34:29  更:2022-11-05 00:36:00 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年4日历 -2025/4/22 18:14:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码