redis和mongodb作业

这篇具有很好参考价值的文章主要介绍了redis和mongodb作业。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

redis

1、 string类型数据的命令操作:
    (1) 设置键值:
        set key1 5
    (2) 读取键值:
        get key1 "5"
    (3) 数值类型自增1:
        INCR key1 (integer) 6
    (4) 数值类型自减1:
        decr key1 (integer) 5
    (5) 查看值的长度:
        STRLEN key1 (integer) 1
    2、 list类型数据的命令操作:
    (1)对列表city插入Shanghai Suzhou Hangzhou 元素
            LPUSH city value Shanghai Suzhou Hangzhou (integer) 3
    (2)将列表city里的头部的元素移除
         lpop city "Hangzhou"
    (3)将name列表的尾部元素移除到number列表的头部
            lrange name 0 -1
            1) "wngwu"
            2) "lishi"
            3) "zhangshan"
 
            lrange numder 0 -1
            1) "7"
            2) "5"
            3) "3"
            4) "1"
            
             RPOPLPUSH name numder
            "zhangshan"
             lrange numder 0 -1
            1) "zhangshan"
            2) "7"
            3) "5"
            4) "3"
            5) "1"
        
    (4) 对一个已存在的列表插入新元素
        lrange name 0 -1
        1) "wngwu"
        2) "lishi"
        3) "rongqi"
 
    (5)查看list的值长度
        llen name (integer) 3
        llen numder (integer) 5
 
    3、 hash类型数据的命令操作:
     (1) 设置一个hash表,order表里包括的键值信息有:id:1,customer_name:张三
        HMSET order id 1 customer_name 张三 OK
    (2) 创建一个hash表,表里的键值批量插入
        hmset order id 2 customer_name lishi
    (3) 获取order对应的map的所有key
         hgetall order
        1) "id"
        2) "1"
        3) "customer_name"
        4) "zhangshan"
    (4) 获取order对应的map的键值数量
        HVALS order
        1) "1"
        2) "zhangshan"
    (5) 获取order表里的id值
        hget order id "1“
    4、Keys相关的命令操作
    (1) 查看key是否存在

EXISTS KEY1 (integer) 1
 
    (2) 查找满足pattern的keys
KEYS *pattern* (empty list or set)
    (3) 查看key的超时时间
     TTL KEY1 (integer) -1
        PTTL KEY1 (integer) -1
    (4) 遍历key
        KEYS *
        1) "KEY"
        2) "numder"
        3) "order"
        4) "KEY2"
        5) "KEY1"
        6) "name"
        7) "key1"

mongodb

1. 创建一个数据库 名字grade

use grade;

switched to db grade

2. 数据库中创建一个集合名字 class

db.createCollection("class")

3. 集合中插入若干数据 文档格式如下

{name:'zhang',age;10,sex:'m',hobby:['a','b','c']}

hobby: draw  sing  dance  basketball football  pingpong  computer

> db.class.insert(

... [

... {name:'zhang',age:11,sex:'m',hobby:['draw','sing']},

... {name:'shan',age:5,sex:'m',hobby:['draw','computer']},

... {name:'li',age:6,sex:'m',hobby:['football','pingpong','computer']},

... {name:'shi',age:7,sex:'m',hobby:['draw']},

... {name:'wang',age:8,sex:'m',hobby:['sing','pingpong']},

... {name:'hong',age:9,sex:'f',hobby:['computer','pingpong']},

... {name:'ming',age:4,sex:'f',hobby:['pingpong']},

... {name:'yi',age:3,sex:'f',hobby:['dance']},

... {name:'feng',age:2,sex:'m',hobby:['sing','computer']},

... ],

...

... {ordered:true}

...

... )

BulkWriteResult({

"writeErrors" : [ ],

查找

查看班级所有人信息

db.class.find()

查看班级中年龄为8岁的学生信息

db.class.find({"age": 8})

查看年龄大于10岁的学生信息

db.class.find({"age":{$gt:10}})

查看年龄在 4---8岁之间的学生信息

db.class.find({"age": {$gt: 4, $lt: 7}})

找到年龄为6岁且为男生的学生

db.class.find({"age":6,"sex": "m"})

找到年龄小于7岁或者大于10岁的学生

db.getCollection('grade_1_2').find({$or: [{"age": {$lt: 7}}, {"age": {$gt: 10}}]})

找到年龄是8岁或者11岁的学生

db.class.find({"age": {$in: [8, 11]}})

找到兴趣爱好有两项的学生

db.class.find({"hobby": {$size: 2}})

找到兴趣爱好有draw的学生

db.class.find({"hobby": "draw"})

找到既喜欢画画又喜欢跳舞的学生

db.class.find({"hobby": {$all: ["draw", "dance"]}})

统计爱好有三项的学生人数

db.class.find({"hobby": {$size: 3}}).count()

找出本班年龄第二大的学生

db.class.find({}).sort({"age": -1}).limit(1).skip(1)

查看学生的兴趣范围

db.class.distinct('hobby')

将学生按年龄排序找到年龄最大的三个

db.class.find({}).sort({"age": -1}).limit(3)

删除所有 年级大于12或者小于4岁的学生

db.class.remove({$or:[{"age":{$lt:4}},{"age":{$gt:12}}]})

增加、更新、删除、统计

1. 将小红的年龄变为8岁 兴趣爱好变为 跳舞 画画

db.class.update({"name": "hong"}, {$set: {"age": 8, "hobby": ["dance", "draw"]}})

2. 追加小明兴趣爱好  唱歌

db.class.update({"name": "ming"}, {$push: {"hobby": "sing"}})

3. 小王兴趣爱好增加  吹牛 打篮球

db.class.update({"name": "wang"}, {$push: {"hobby": {$each: ["brag", "basketball"]}}})

4. 小李增加爱好,跑步和唱歌,但是不要和以前的重复

db.class.update({"name": "li"}, {$addToSet: {"hobby": {$each: ["sing", "basketball"]}}})

5. 该班所有同学年龄加1

db.class.update({}, {$inc: {"age": 1}}, {multi: true})

6. 删除小明的sex属性

db.class.update({"name": "ming"}, {$unset: {"sex": 1}})

7. 删除小李兴趣中的第一项

db.class.update({"name": "li"}, {$pop: {"hobby": -1}})

8. 将小红兴趣中的画画爱好删除

db.getCollection('class').update({"name": "hong"}, {$pull: {"hobby": "sing"}} )

增加分数域 score:{'chinese':88,'english':78,'math':98}

1. 按照性别分组统计每组人数

db.class.aggregate({"$group":{"_id":"$sex",count:{"$sum":1}}})

{ "_id" : null, "count" : 1 }

{ "_id" : "f", "count" : 1 }

{ "_id" : "m", "count" : 4 }

2. 按照姓名分组,过滤出有重名的同学

db.class.aggregate({"$group":{"_id":"$name",count:{"$sum":1}}},{$match:{count:{$gt:1}}})

3. 统计每名男生的语文成绩

db.class.aggregate([{$match:{sex:'m'}},{$project:{_id:0,name:1,'score.chinese':1}}])

4. 将女生按照英语分数降序排列

db.class.aggregate([{$match:{sex:'f'}},{$sort:{'score.english':-1}}])文章来源地址https://www.toymoban.com/news/detail-583259.html

到了这里,关于redis和mongodb作业的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Windows公网远程连接MongoDB数据库【无公网IP】

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

    2024年02月08日
    浏览(56)
  • 【无公网IP】在外Windows远程连接MongoDB数据库

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

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

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

    2024年02月03日
    浏览(46)
  • 在外Windows远程连接MongoDB数据库【无公网IP】

    转载自远程内网穿透的文章:公网远程连接MongoDB数据库【内网穿透】 MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。 MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富

    2023年04月22日
    浏览(59)
  • Spring Boot进阶(54):Windows 平台安装 MongoDB数据库 | 超级详细,建议收藏

            MongoDB是一种流行的文档型NoSQL数据库,它具有高性能、高可用性、可伸缩性等优点,因此被广泛应用于Web应用程序、分布式系统、云计算等领域。在Windows系统中安装和使用MongoDB也非常简单,只需要按照官方文档提供的步骤进行操作即可。在本篇文章中,我们将介

    2024年02月16日
    浏览(60)
  • mongodb 数据库管理(数据库、集合、文档)

    目录 一、数据库操作 1、创建数据库 2、删除数据库 二、集合操作 1、创建集合 2、删除集合 三、文档操作 1、创建文档 2、 插入文档 3、查看文档 4、更新文档 1)update() 方法 2)replace() 方法 创建数据库的语法格式如下: 如果数据库不存在,则创建数据库,否则切换到该数据

    2024年02月12日
    浏览(52)
  • [虚幻引擎 MongoDB Client 插件说明] DTMongoDB MongoDB数据库连接插件,UE蓝图可以操作MongoDB数据库增删改查。

    本插件可以在UE里面使用蓝图操作MongoDB数据库, 对数据库进行查询,删除,插入,替换,更新操作。 插件下载地址在文章最后。 Create MongoDB Client - 创建客户端对象 创建一个 MongoDB 客户端对象。 Connect By Url - 连接到数据库 Url :MongoDB的连接地址。 如 mongoDB://account:password@ip:

    2024年02月14日
    浏览(96)
  • MongoDB数据库从入门到精通系列文章之:MongoDB数据库百篇技术文章汇总

    MongoDB数据库系列文章持续更新中: 更多数据库内容请阅读博主数据库专栏,数据库专栏涵盖了Mysql、SQLServer、PostgreSQL、MongoDB、Oracle、Cassandra等数据库 数据库专栏 文章名称 文章链接 数据库安装部署系列之:部署Mongodb5.0.6高可用集群详细步骤 数据库安装部署系列之:部署M

    2024年02月11日
    浏览(59)
  • MongoDB数据库安装

    MongoDB数据的特点: 面相文档存储的分布式数据库 具有很强的扩展性 支持丰富的查询表达式,很接近于关系性数据库 使用类似于json的结构保存数据,可以轻易的查询到文档中内嵌的对象及数组 首先去官网下载安装包 Download MongoDB Community Server | MongoDB 启动MongoDB数据的服务 可

    2024年02月11日
    浏览(58)
  • mongodb数据库操作

    1、启动mongodb 在mongodb启动命令中 --dbpath 指定mongodb的数据存储路径 --logpath 指定mongodb的日志存储路径 2、停止mongodb 第一步先进入mongo命令行模式 第二步,使用use admin 命令进入admin数据库 第三步,执行 db.shutdownServer()命令 停止服务。代码及显示如下:  2 、导出Mongodb数据 mon

    2024年02月09日
    浏览(51)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包