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

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

use wuweixian
db.createCollection("wwx")

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

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

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

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

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

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

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

db.wwx.find({$and:[{likenum:{$gte:NumberInt(800)}},{likenum:
{$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 总和

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

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

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

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

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

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值