Linux中部署完mongoDB后写出以下问题代码1.创建数据库mydb,并给指定的集合添加文档,集合用自己的名字命名(比如:张雪峰,就用zxf命名,用zhangxuefeng也可以)
(1).用insert()向集合中添加:_id为1001,姓名为张三,年龄为20的文档。
(2).用insert()向集合中添加:姓名为赵四,年龄为40岁的文档。
(3)用save()向集合中添加:姓名为赵四,年龄为20岁的文档。
(4)查询各自集合中的内容。
(5)用insert()向集合中添加:_id为1001,姓名为李白,年龄为30的文档。
(6)用save()向集合中添加:_id为1001,姓名为李白,年龄为30的文档。
(新版本shell改为用insertOne()和insertMany()进行插入)
2.查找文档
(1).查找集合中姓名为赵四的文档。
(2).查找集合中姓名为赵四,年龄为40的文档。
(3).使用命令查找集合的第一条记录。
(4).查询集合中的所有内容。
3.删除文档
(1).使用命令删除集合中姓名为赵四的文档。
(2).删除集合中所有文档。
4.更新数据库
(1)数据准备,新建user集合并插入以下内容:
(2)将users集合中姓名为方世玉的名字修改为洪七公,college改为安理工。
(3)将年龄为32岁的所有记录的college改为清华大学。
(4)将姓名为赵敏的年龄更新为28岁。
5、使用mongodb的聚合管道完成下列操作(XXX是用自己的名字命名集合):
(1)考虑以下文档结构存储用户的文章,文档存储了用户的 user_name 和文章的 status 字段:
>db.XXX.insert({
"post_text": "纸上得来终觉浅,绝知此事要躬行。",
"user_name": "Jerry",
"status":"active"
})
>db.XXX.insert({
"post_text": "读书不觉已春深,一寸光阴一寸金。",
"user_name": "Jerry",
"status":"active"
})
>db.XXX.insert({
"post_text": "天生我材必有用,千金散尽还复来。",
"user_name": "Jerry",
"status":"active"
})
>db.XXX.insert({
"post_text": "世上无难事,只怕不专心。",
"user_name": "Jerry",
"status":"active"
})
>db.XXX.insert({
"post_text": "穷则独善其身,达则兼济天下。",
"user_name": "Jerry",
"status":"disabled"
})
>db.XXX.insert({
"post_text": "博学之,审问之,慎思之,明辨之,笃行之。",
"user_name": "Tom",
"status":"disabled"
})
>db.XXX.insert({
"post_text": "路漫漫其修远兮,吾将上下而求索。",
"user_name": "Tom",
"status":"disabled"
})
>db.XXX.insert({
"post_text": "夫君子之行,静以修身,俭以养德。",
"user_name": "Tom",
"status":"active"
})
(2)在XXX集合中使用 管道操作符来选取已发布的文章(status:“active”),并通过user_name分组,计算每个用户的文章数。
(3)使用 find 操作符来查看 mapReduce 的查询结果。
6、使用管道操作符完成下列操作:
(1)建立文档:
订单表:
db.order.insert({"order_id":"1","uid":10,"trade_no":"111","all_price":100,"all_num":2})
db.order.insert({"order_id":"2","uid":7,"trade_no":"222","all_price":90,"all_num":2})
db.order.insert({"order_id":"3","uid":9,"trade_no":"333","all_price":20,"all_num":6})
订单商品表:
db.order_item.insert({"order_id":"1","title":"商品鼠标1","price":50,num:1})
db.order_item.insert({"order_id":"1","title":"商品键盘 2","price":50,num:1})
db.order_item.insert({"order_id":"1","title":"商品键盘 3","price":0,num:1})
db.order_item.insert({"order_id":"2","title":"牛奶","price":50,num:1})
db.order_item.insert({"order_id":"2","title":"酸奶","price":40,num:1})
db.order_item.insert({"order_id":"3","title":"矿泉水","price":2,num:5})
db.order_item.insert({"order_id":"3","title":"毛巾","price":10,num:1})
(2)要求查找集合order中的数据,只返回文档中trade_no和all_price字段。
(3)要求查找集合order中的数据,只返回文档中trade_no和all_price字段,且过滤掉all_price小于90的数据。
(4)统计每个订单下的商品总数量,按照订单号分组。
(5)要求查找集合order中的数据,只返回文档中trade_no和all_price字段,且过滤掉all_price小于90的数据,最后按照all_price进行降序排序,返回第一条数据