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. AI-解析器-request.data内部如何按照自定义解析格式-解析数据

    QUESTION:post方法中调用request.data方法时,当在Courseview类中添加parser_classes=[ForParser,],就可以将数据解析成parser_classe ...

  2. 插件使用一颜色选择器---cxColor

    cxColor 是一款颜色选择器.这样的插件使用场景不多.可喜的这是国人写的. 官方网站: https://github.com/ciaoca/cxColor 使用方法: 1.引入jquery库 1 ...

  3. 使用python调用email模块发送邮件附件

    使用python调用email模块实现附件发送 需要模块: import datetime import time import sys import mimetypes import smtplib ...

  4. file /usr/share/mysql/charsets/README from install of MySQL-server-5.1.73-1.glibc23.i386 conflicts with file from package mysql-libs-5.1.73-8.el6_8.i686

    1:也许之前的机器安装过Mysql,但是自己不知道,账号密码也忘记了,又执行安装操作,导致Mysql不兼容问题.Linux上安装MySQL时出现不兼容的解决办法,错误如下所示: [root@maste ...

  5. jQuery EasyUI一个基于 jQuery 的框架(创建网页所需的一切)

    jQuery EasyUI学习网址:http://www.runoob.com/jeasyui/jqueryeasyui-tutorial.html jQuery MiniUI学习网址:http:// ...

  6. webpack学习笔记--配置module

    Module module 配置如何处理模块. 配置 Loader rules  配置模块的读取和解析规则,通常用来配置 Loader.其类型是一个数组,数组里每一项都描述了如何去处理部分文件. 配置 ...

  7. java.lang.OutOfMemoryError: unable to create new native thread

    ps -o nlwp 70753 sudo -u tomcat jmap -dump:format=b,file=fundmarketmanage.hprof 78894

  8. 用jQuery实现Ajax

    前置知识:ajax原理,json字符串进行信息传递. Ajax主要的功能是实现了浏览器端 异步 访问服务器:通过浏览器的XMLHttpRequest对象发出小部分数据,与服务端进行交互, 服务端返回小 ...

  9. 10本Java架构师必读书籍

    1.大型网站系统与JAVA中间件实践 本书围绕大型网站和支撑大型网站架构的Java中间件的实践展开介绍. 从分布式系统的知识切入,让读者对分布式系统有基本的了解:然后介绍大型网站随着数据量.访问量增长 ...

  10. ArcGIS 10开发迁移策略(待续)

    1.更改 ESRI.ArcGIS.ADF 程序集 ArcGIS 10 中, ADF 程序集中的功能被分散到不同的程序集中,如果将 ArcGIS 9.3 下 开发的自定义组件迁移到 ArcGIS 10 ...