• 第3章 MongoDB数据库操作<练习>


    1. 创建数据库,名为zhangsan (zhangsan修改为自己的姓名全 拼)

    1. use wuweixian
    2. db.createCollection("wwx")

    2. 批量插入多条文章评论用于测试

    1. db.wwx.insertMany([
    2. {"_id":"1","articleid":"100001","content":"我们不应该把清晨浪费在手机上,健康很重
    3. 要,一杯温水幸福你我他。","userid":"1002","nickname":"相忘于江湖","createdatetime":new
    4. Date("2019-08-05T22:08:15.522Z"),"likenum":NumberInt(1000),"state":"1"},
    5. {"_id":"2","articleid":"100001","content":"我夏天空腹喝凉开水,冬天喝温开
    6. 水","userid":"1005","nickname":"伊人憔悴","createdatetime":new Date("2019-08-
    7. 05T23:58:51.485Z"),"likenum":NumberInt(888),"state":"1"},
    8. {"_id":"3","articleid":"100001","content":"我一直喝凉开水,冬天夏天都
    9. 喝。","userid":"1004","nickname":"杰克船长","createdatetime":new Date("2019-08-
    10. 06T01:05:06.321Z"),"likenum":NumberInt(666),"state":"1"},
    11. {"_id":"4","articleid":"100001","content":"专家说不能空腹吃饭,影响健
    12. 康。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-
    13. 06T08:18:35.288Z"),"likenum":NumberInt(2000),"state":"1"},
    14. {"_id":"5","articleid":"100001","content":"研究表明,刚烧开的水千万不能喝,因为烫
    15. 嘴。","userid":"1003","nickname":"凯撒","createdatetime":new Date("2019-08-
    16. 06T11:01:02.521Z"),"likenum":NumberInt(3000),"state":"1"}
    17. ]);

    3. 修改_id为5的记录,nickname修改为自己的姓名,点赞量修改成 自己的学号,并查询此条记录。

    1. db.wwx.update({_id:"5"},{$set:{likenum:"21631642014"}})
    2. db.wwx.update({_id:"5"},{$set:{nickname:"吴伟贤"}})

    4. 找到contect的值中包含 "我们" 的所有文档,并更新为你的姓名, 例如更新为 "张三"

    db.wwx.update({"content":/我们/},{$set:{"content":"吴伟贤"}},{multi:true})

    5. 查询评论集合中likenum大于等于800 并且小于5000的文档

    1. db.wwx.find({$and:[{likenum:{$gte:NumberInt(800)}},{likenum:
    2. {$lt:NumberInt(5000)}}]})

     6. 将集合comment中的文档按userid进行分组

    db.wwx.aggregate([{$group:{"_id":"$userid"}}]).pretty()

    7. 使用$limit操作符,展示集合comment中前三个文档

    db.wwx.aggregate({$limit:3}).pretty()
    

    8. 使用$match操作符,将集合comment中键nickname的值为凯 撒的文档查询出来

    db.wwx.aggregate([{$match: {nickname:"凯撒"}}])

    9. 使用$sort操作符,将集合comment中的文档按照键likenum的 值进行降序排序

    db.wwx.aggregate([{$sort: {likenum:-1}}]).pretty()
    

    10. 向集合product中插入五个文档,具体命令如下.

     db.product.insertMany([ {"id":"1","name":"iPhone 8","price":3000,"type":"电子通讯"}, {"id":"2","name":"adidas neo","price":700,"type":"服装"}, {"id":"3","name":"nike air max 90","price":760,"type":"服装"}, {"id":"4","name":"HuaWei mate30","price":5000,"type":"电子通讯"}, {"_id":"5","name":"vivo x27","price":2000,"type":"电子通讯"}, ])

    db.product.find({})

    (1)将集合product中的文档按类型type进行分组,并计算各个分组的价格price 总和

    1. db.product.aggregate([{$group:{"_id":"$type","price":
    2. {$sum:"$price"}}}]).pretty()

    (2)将集合product中的文档按类型type进行分组,并计算各个分组的价格price 最大值

    1. db.product.aggregate([{$group:{"_id":"$type","price":
    2. {$max:"$price"}}}]).pretty()

    (3)将集合product中的文档按类型type进行分组,并获取各个分组中第一个产 品

    1. db.product.aggregate([{$group:{"_id":"$type","product":
    2. {$first:"$name"}}}]).pretty()

     

  • 相关阅读:
    MAC 如何配置 PCL 库并在 VS Code 中使用
    Redis 缓存预热+缓存雪崩+缓存击穿+缓存穿透
    W31-02-excel和logging使用,实现自动登录百度,并搜索雷军
    网络规划.1.扩展.IP地址规划
    Java之多线程综合练习小题一
    鉴源论坛 · 观模丨基于搜索的测试生成
    深圳考生注意!取得信息系统项目管理师证书还可以享受这些福利!
    android studio启动报错
    基础I/O【Linux】
    【线下沙龙】低成本高效率构建您的业务系统
  • 原文地址:https://blog.csdn.net/qq_64005599/article/details/133150832