1.查询所有的电影名称以及评分
db.data2.find(
{},{'subject.title':1,'subject.rate':1}
)
2.获取所有评分大于等于9.0的电影名称,以及制作的国家
db.data2.find(
{"subject.rate":{"$gte":'9.0'}},{"subject.title":1,"subject.region":1}
)
3.获取所有由张国荣主演的电影,并以年份排序
db.data2.find(
{"subject.actors":/张国荣/}
).sort({"subject.release_year":-1})
4.找出导演为冯小刚的电影并以年份排序
db.data2.find(
{"subject.directors":/冯小刚/}
).sort({"subject.release_year":-1})
5.查看所有刘德华与梁朝伟共同主演的电影主演的电影
db.data2.find(
{"subject.actors":{"$all":["刘德华","梁朝伟"]}}
)
6.查看第三个和第四个个意大利的电影
db.data2.find(
{"subject.region":"意大利"}
).limit(2).skip(2)
7.查看所有由姜文指导大于等于9.0分的电影,或者所有大于9.4分的电影
db.data2.find(
{"$or":[{"subject.directors":"姜文","subject.rate":{"$gte":"9.0"}},
{"subject.rate":{"$gt":"9.4"}}]} ) 8.查询大于9.0分的非美国电影
db.data2.find(
{"subject.rate":{"$gt":"9.0"},"subject.region":{"$ne":"美国"}}
)
9.查询20世纪以及之前的奇数年份的香港电影
db.data2.find(
{"subject.region":"香港",
"subject.release_year":{"$mod":[2,1]},
"subject.release_year":{"$lt":"2000"} }
)
10.查询这三年的所有电影 db.data2.find(
{'subject.release_year':{"$in":["2017","2016","2015"]}}
)

2.分组聚合查询

11.查询国家名以及个国家的电影名
db.data2.aggregate(
{"$group":{"_id":"$subject.region","names":{"$push":"$subject.title","$push":"$subject.types"}}}
)
12.查询国家名以及个国家的电影的个数,并降序排序
db.data2.aggregate(
{"$group":{"_id":"$subject.region","作品数量":{"$sum":1}}},
{"$sort":{"作品数量":-1}}
)
13.查看可以播放与不可播放的数量
db.data2.aggregate(
{"$group":{"_id":"$subject.playable","count":{"$sum":1}}}
)
14.查询所有电影中的平均分数,最小分数,最大分数,以及其电影名
db.data2.aggregate(
{"$group":{"_id":"$subject.region",
"avg_rate":{"$avg":"$subject.rate"},
"max_rate":{"$max":"$subject.rate"},
"min_rate":{"$min":"$subject.rate"},
"names":{"$push":"$subject.title"}, }}
)

MongoDB的基本查询的更多相关文章

  1. MongoDB 覆盖索引查询

    MongoDB 覆盖索引查询 官方的MongoDB的文档中说明,覆盖查询是以下的查询: 所有的查询字段是索引的一部分 所有的查询返回字段在同一个索引中 由于所有出现在查询中的字段是索引的一部分, Mo ...

  2. MongoDB 入门之查询(find)

    MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...

  3. MongoDB数据库中查询数据(下)

    MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...

  4. 在MongoDB数据库中查询数据(上)

    在MongoDB数据库中查询数据(上) 在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.fi ...

  5. 【转】MongoDB学习笔记(查询)

    原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ec ...

  6. 【第十二章】 springboot + mongodb(复杂查询)

    简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...

  7. 第十二章 springboot + mongodb(复杂查询)

    简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...

  8. mongodb的高级查询

    db的帮助文档 输入:db.help(); db.AddUser(username,password[, readOnly=false])  添加用户 db.auth(usrename,passwor ...

  9. 使用morphia实现对mongodb的聚合查询

    morphia是谷歌的一个针对mongodb的数据化持久框架: 关于mongodb的介绍不在这里展示,直接进入主题:采用morphia实现对mongodb的聚合查询 这里获取所有学生的分数总和 spr ...

  10. python数据库-mongoDB的高级查询操作(55)

    一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...

随机推荐

  1. String 类的实现(1)浅拷贝存在的问题以及深拷贝实现

    1.   浅拷贝 : 也称位拷贝 , 编译器只是直接将指针的值拷贝过来, 结果多个对象共用 同 一块内存, 当一个对象将这块内 存释放掉之后, 另 一些对象不知道该块空间已经还给了系统, 以为还有效, ...

  2. 51 nod 1181 质数中的质数(质数筛法)

    1181 质数中的质数(质数筛法) 如果一个质数,在质数列表中的编号也是质数,那么就称之为质数中的质数.例如:3 5分别是排第2和第3的质数,所以他们是质数中的质数.现在给出一个数N,求>=N的 ...

  3. Django系列(一)

    项目引入静态文件 更改settings.py,为项目下面的每个APP应用,建立静态文件,这里如blog,首先在blog下面建立一个静态文件夹名为statics,注意这里为别名 STATICFILES_ ...

  4. MariaDB修改默认字符集

    MariaDB修改默认字符集,以及创建数据库授权 1 . 修改server默认字符集utf8 [root@aws my.cnf.d]# vim /etc/my.cnf.d/server.cnf [my ...

  5. 在IDEA中编写Spark的WordCount程序

    1:spark shell仅在测试和验证我们的程序时使用的较多,在生产环境中,通常会在IDE中编制程序,然后打成jar包,然后提交到集群,最常用的是创建一个Maven项目,利用Maven来管理jar包 ...

  6. google 插件

    鼠标手势    crxMouse Chrome™ Gestures Google翻译 json格式化  JSONView github展开文件夹     Octotree axure 原型  Axur ...

  7. CentOS7中Docker-ce的卸载和安装

    一.查看是否已安装了Docker软件包: #查看是否已经安装的Docker软件包sudo yum list installed | grep docker 二.如果已安装不想要的docker/dock ...

  8. java运算符-算数、赋值、比较

    1.算术运算符 运算符是用来计算数据的符号.数据可以是常量,也可以是变量.被运算符操作的数我们称为操作数. 运算符 运算规则 范例 结果 + 正号 +3 3 + 加 2+3 5 + 连接字符串 “中” ...

  9. 【Codeforces】Gym100633 D. LWDB

    题解 点分治,然后每个点上挂着一个距离不超过\(a_{i}\)的颜色改成\(c\) 用一个单调栈维护距离单调递减,每次查询在每个包括这个点的分治中心的单调栈上二分,找到修改最靠前的颜色作为这个点的颜色 ...

  10. Js计算时间差,天数,小时数,余数

    var begintime_ms = Date.parse(new Date(begintime.replace(/-/g, "/"))); //begintime 为开始时间 v ...