MongoDB查询语言项目练习

MongoDB查询语言项目练习


关于MongoDB查询语言的介绍可以看我的这篇文章:
https://blog.csdn.net/Jifu_M/article/details/112549035

项目介绍

我们拥有一个bookshop.js的文件,将文件导入的MongoDB后按照要求进行查询工作。

练习用的bookshop.js已被上传到我的资源。

项目开始

首先要创建一个文件夹来进行项目,之后启动MongoDB,最后读取文件:

mkdir DATA

mongod –dbpath DATA –port 4000

mongo –port 4000

load("bookshop.js");

(1) 查找期刊总数。

db.bookshop.find({"journal":{"$exists":true}}).count();

(2) 以一种漂亮的格式列出标题为算法的图书文档中包含的所有信息。

db.bookshop.find({"book.title":"Algorithms"}).pretty();

(3) 以漂亮的格式列出作者的 last name是 Potter,first name是Harry的所有书籍的标题、作者、出版商、年份和价格:

db.bookshop.find({"$and":[{"book.authors.lname":"Potter"},{"book.authors.fname":"Harry"}]},{"_id":0,"book.title":1,"book.authors":1,"book.publisher":1,"book.year":1,"book.price":1}).pretty();

(4) 以一种漂亮的格式列出2013年之前出版的所有书籍的标题、作者、出版商、年份和价格:

 db.bookshop.find({"book.year":{"$lt":2013}},{"_id":0,"book.title":1,"book.authors":1,"book.publisher":1,"book.year":1,"book.price":1}).pretty();

(5) 以一种漂亮的格式列出标题,出版商,年份和价格的所有书,书的关键字包含"Database ":

db.bookshop.find({"book.keywords":{"$elemMatch":{$eq:"Database"}}},{"_id":0,"book.title":1,"book.publisher":1,"book.year":1,"book.price":1}).pretty();

(6) 以一个漂亮的格式列出包含3个关键字的所有书的标题,出版商,年份和价格:

db.bookshop.find({"book.keywords":{$size:3}},{"_id":0,"book.title":1,"book.publisher":1,"book.year":1,"book.price":1}).pretty();

(7) 以一种漂亮的格式列出没有关键字的所有书籍的标题、出版商、年份和价格:
这里首先要确定book是否存在,然后再找没有关键字的书。

db.bookshop.find({"$and":[{"book":{"$exists":true}},{"book.keywords":null}]},{"_id":0,"book.title":1,"book.publisher":1,"book.year":1,"book.price":1}).pretty();

(8)以漂亮的格式列出价格低于12.00的音乐CD的名称、制作人、年份和价格:

db.bookshop.find({"musicCD.price":{"$lt":12.00}},{"_id":0,"musicCD.title":1,"musicCD.producer":1,"musicCD.year":1,"musicCD.price":1}).pretty();

(9)以漂亮的格式列出2018年出版的期刊的编号、标题、vol、issue和month

db.bookshop.find({"journal.year":2018},{"_id":0,"journal.callnum":1,"journal.title":1,"journal.vol":1,"journal.issue":1,"journal.month":1}).pretty();

(10)以一种漂亮的格式列出在描述中包含"programming" 的所有书籍的标题、出版商、年份和价格:

db.bookshop.find({"book.description":{"$regex": "programming" } },{"_id":0,"book.title":1,"book.publisher":1,"book.year":1,"book.price":1}).pretty();
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值