《分布式数据库原理与应用》——作业四

作业四及答案

快捷查找:Ctrl+F   在搜索框中输入题目

一. 单选题(共9题)

1. (单选题 )MongoDB属于什么类型的数据库?

A. 列族数据库

B. 键值对数据库

C. 文档数据库

D. 图数据库

正确答案: C:文档数据库;

 2. (单选题 )下面对MongoDB的描述哪个不是正确的?

A. 是关系型的

B. 是面向文档的

C. 是分布式的

D. 是一种NoSQL数据库

正确答案: A:是关系型的;

 3. (单选题 )MongoDB 采用什么格式完成存储数据和网络数据交换

A. BSON

B. 二进制

C. Object

D. Json

正确答案: A:BSON;

 4. (单选题 )以下哪种逻辑结构不属于MongoDB

A. 表table

B. 数据库db

C. 集合collection

D. 文档document

正确答案: A:表table;

 5. (单选题 )MongoDB中主键的默认格式是哪个?

A. UUID

B. 序列sequence

C. 自增auto_increment

D. ObjectId

正确答案: D:ObjectId;

 6. (单选题 )关于文档的命名规则,下列选项描述不正确的是。

A. 键不能包含空字符串

B. 键不能用$开头

C. 键不能包含.

D. 键不能用_开头

正确答案: D:键不能用_开头;

 7. (单选题 )关于集合的命名规则,下列选项描述不正确的是。

A. 集合不能是空字符串

B. 集合不能用system. 开头

C. 集合名中不能包含 . (点)

D. 集合名中不能包含$

正确答案: C:集合名中不能包含 . (点);

 8. (单选题 )与select age,name from stu where id=5含义一样的MongoDB语句是哪个?

A. db.stu.find({id:5},{age:1,name:1,_id:0})

B. db.stu.find({id:5,age:1,name:1,_id:0})

C. db.stu.find({id:{$gt:5}},{age:1,name:1,_id:0})

D. db.stu.find({id:{$lt:5}},{age:1,name:1,_id:0})

正确答案: A:db.stu.find({id:5},{age:1,name:1,_id:0});

 9. (单选题 )可以完成插入操作的方法不包括?

A. insert

B. update

C. save

D. delete

正确答案: D:delete;

 二. 阅读理解(共2题)

10. (阅读理解)代码书写题:

(1) (简答题 ) 利用shell命令新建一张名为stu的表(本题的表代表集合的意思)。

正确答案:

db.createCollection("stu")

(2) (简答题 ) 向table表中添加数据name:”tom”

正确答案:

db.stu.insert({name:"tom"})

 (3) (简答题) 将下面两条数据插入到stu表中

Name:xiaoming  age:18

Name:lili age:20

正确答案:

db.stu.insert([{Name:"xiaoming",age:"18"},{Name:"lili",age:"20"}])

(4) (简答题) 修改stu表中xiaoming的年龄为15

正确答案:

db.stu.update({Name:"xiaoming"},{$set:{age:"15"}})

(5) (简答题) 查看stu表中的数据(格式化输出)

正确答案:

db.stu.find({}).pretty()

(6) (简答题) 查询stu表中的age大于20的数据

正确答案:

db.stu.find({age:{$gt:20}}).pretty()

 (7) (简答题 ) 删除stu表中lili的数据(删除1条)

正确答案:

db.stu.deleteOne({name:"lili"})

(8) (简答题 ) 删除stu表中lili的数据(删除多条)

正确答案:

db.stu.deleteMany()

11. (阅读理解, 2 )阅读题目,回答问题。

现有数据:pnumber:商品编号,quantity:商品数量,price:商品单价,插入如下商品信息:

db.items.insert([

{"quantity":2,"price":5.0,"pnumber":"103"},

{"quantity":2,"price":8.0,"pnumber":"102"},

{"quantity":1,"price":4.0,"pnumber":"102"},

{"quantity":2,"price":4.0,"pnumber":"101"},

{"quantity":4,"price":10.0,"pnumber":"103"},

{"quantity":10,"price":20.0,"pnumber":"101"},

{"quantity":10,"price":20.0,"pnumber":"103"},

{"quantity":5,"price":10.0,"pnumber":"102"}

])

(1) (简答题 ) 统计items共有多少个文档数据。

正确答案:

db.items.count()

(2) (简答题 ) 查询quantity为10且价格大于等于5的商品数据

正确答案:

db.items.find({quantity:5,price:{$gte:5}})

(3) (简答题 ) db.items.find({$or:[{quantity:5},{price:{$lte:12}}]}),回答此代码含义。

正确答案:

查询quantity为5或价格小于等于12的商品数据。

(4) (简答题 ) db.items.aggregate([{$group:{_id:"$pnumber",price:{$avg:"$price"}}}]),回答此代码含义。

正确答案:

通过相同的产品类型来进行分组,然后查询每个订单详情相同产品类型卖出的平均价格。

(5) (简答题 ) db.items.aggregate([{$group:{_id:"$pnumber",max:{$max:"$quantity"}}}]),写出运行结果。

正确答案:

{"_id":"101","max":10}

{"_id":"102","max":5}

{"_id":"103","max":10}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值