MongoDB的基本查询
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的基本查询的更多相关文章
- MongoDB 覆盖索引查询
MongoDB 覆盖索引查询 官方的MongoDB的文档中说明,覆盖查询是以下的查询: 所有的查询字段是索引的一部分 所有的查询返回字段在同一个索引中 由于所有出现在查询中的字段是索引的一部分, Mo ...
- MongoDB 入门之查询(find)
MongoDB 入门之查询(find) 1. find 简介 (1)find的第一个参数决定了要返回哪些文档. 空的查询文档会匹配集合的全部内容.默认就是{}.结果将批量返回集合c中的所有文档. db ...
- MongoDB数据库中查询数据(下)
MongoDB数据库中查询数据(下) 在find中,options参数值为一个对象,用来设置查询数据时使用的选项,下面我们来对该参数值对象中可以使用的属性进行介绍: 1. fields; 该属性值为一 ...
- 在MongoDB数据库中查询数据(上)
在MongoDB数据库中查询数据(上) 在MongoDB数据库中,可以使用Collection对象的find方法从一个集合中查询多个数据文档,find方法使用方法如下所示: collection.fi ...
- 【转】MongoDB学习笔记(查询)
原文地址 MongoDB学习笔记(查询) 基本查询: 构造查询数据. > db.test.findOne() { "_id" : ObjectId("4fd58ec ...
- 【第十二章】 springboot + mongodb(复杂查询)
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...
- 第十二章 springboot + mongodb(复杂查询)
简单查询:使用自定义的XxxRepository接口即可.(见 第十一章 springboot + mongodb(简单查询)) 复杂查询:使用MongoTemplate以及一些查询条件构建类(Bas ...
- mongodb的高级查询
db的帮助文档 输入:db.help(); db.AddUser(username,password[, readOnly=false]) 添加用户 db.auth(usrename,passwor ...
- 使用morphia实现对mongodb的聚合查询
morphia是谷歌的一个针对mongodb的数据化持久框架: 关于mongodb的介绍不在这里展示,直接进入主题:采用morphia实现对mongodb的聚合查询 这里获取所有学生的分数总和 spr ...
- python数据库-mongoDB的高级查询操作(55)
一.MongoDB索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...
随机推荐
- c++ 链表基础功能实现
#include<stack> struct ListNode { int m_nValue; ListNode* m_pNext; }; ListNode* CreateListNode ...
- SQL Server表关联
表关联:Hash.Nested Loops.Merge.这是实际算法,不是T-SQL中的inner/left/right/full/cross join.优化器会把这些T-SQL写法转换成上面的3种算 ...
- webpack学习笔记--配置总结
从前面的配置看来选项很多,Webpack 内置了很多功能. 你不必都记住它们,只需要大概明白 Webpack 原理和核心概念去判断选项大致属于哪个大模块下,再去查详细的使用文档. 通常你可用如下经验去 ...
- 【CF662C】Binary Table(FWT)
[CF662C]Binary Table(FWT) 题面 洛谷 CF 翻译: 有一个\(n*m\)的表格(\(n<=20,m<=10^5\)), 每个表格里面有一个\(0/1\), 每次可 ...
- sparkStreaming消费kafka-0.8方式:direct方式(存储offset到zookeeper)
生产中,为了保证kafka的offset的安全性,并且防止丢失数据现象,会手动维护偏移量(offset) 版本:kafka:0.8 其中需要注意的点: 1:获取zookeeper记录的分区偏移量 2: ...
- Python select解析
一.首先列一下,sellect.poll.epoll三者的区别 1.select a.select最早于1983年出现在4.2BSD中,它通过一个select()系统调用来监控多个文件描述符的数组,当 ...
- POJ3321Apple Tree Dfs序 树状数组
出自——博客园-zhouzhendong ~去博客园看该题解~ 题目 POJ3321 Apple Tree 题意概括 有一颗01树,以结点1为树根,一开始所有的结点权值都是1,有两种操作: 1.改变其 ...
- 001_JavaScript学习
1,面向对象,事件驱动 2,动态,交互性 3,解释性语言,非强(弱)类型变量:不用声明,解释时检查类型 4,区分大小写,嵌入html,句尾加分号,可以独立保存为一个外部文件,但其中不能包含<sc ...
- day 58 bootstrap -part1
我们的bootstrap主要使用都是官网里面的内容,官网里面的都整理得很完备,有需要的时候就直接去里面找即可, 关于这个bootstrap,我所理解的就是,我们前面所学的那些,从html开始一直到后面 ...
- 2017Nowcoder Girl D - 打车
题目描述 妞妞参加完Google Girl Hackathon之后,打车回到了牛家庄. 妞妞需要支付给出租车司机车费s元.妞妞身上一共有n个硬币,第i个硬币价值为p[i]元. 妞妞想选择尽量多的硬币, ...