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索引 为什么使用索引? 假设有一本书,你想看第六章第六节讲的是什么,你会怎么做,一般人肯定去看目录,找到这一节对应的页数,然后翻到这一页.这就是目录索引,帮助读者快速找到想要的章节. ...
随机推荐
- MAC 调用GCC 提示xcrun: error: invalid active developer path
xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: ...
- python函数之基础
一: 函数的定义与调用 1.1 :函数的定义 def 关键字必需写 函数名必需是字母,数字,下划线组合,并且不能以数字开头 函数名后面要加括号然后“:” 为函数写注释是一个好习惯 # 函数的定义 de ...
- JS脚本计算从某日凌晨开始,经过了多长时间
var a = new Date();//获取现在的时间 var d = Date.parse("Mar 25, 2019");//设定网站建立的时间 var t = a.getT ...
- 用JAVA写一个简单的英文加密器
package qhs; import java.util.Scanner; public class JiaM { public static void main(String[] args) { ...
- hive和hbase比较(整理)
hive1.可以理解为一种SQL执行引擎,对SQL的支持最终转换为map/reduce任务2.不支持更新.删除操作,但可以插入3.任务不是实时执行,用时一般为数分钟到数小时4.本身可以不存储数据,只存 ...
- 通过ModelForm实现主机添加和编辑
通过ModelForm实现主机添加和编辑 ModelForm这是一个神奇的组件,通过名字我们可以看出来,这个组件的功能就是把model和form组合起来:在使用Model和Form时,都需要对字段进行 ...
- 使用android-ndk官方ndkbuild例子
Why this blog 现在(2018年9月27日),Android Studio中新建ndk项目都使用cmake而不是Android.mk+Application.mk的方式.但老项目需要维护, ...
- web页在微信中访问增加遮罩层 右上角弹出在浏览器中打开
https://blog.csdn.net/zgsdzczh/article/details/79744838 web页在微信中访问增加遮罩层 右上角弹出在浏览器中打开 <style typ ...
- python之GIL官方文档 global interpreter lock 全局解释器锁
0.目录 2. 术语 global interpreter lock 全局解释器锁3. C-API 还有更多没有仔细看4. 定期切换线程5. wiki.python6. python.doc FAQ ...
- Python学习(二十一) —— 前端之JavaScript
转载自http://www.cnblogs.com/liwenzhou/p/8004649.html 一.JavaScript概述 1.JavaScript的历史 1992年Nombas开发出C-mi ...