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"}, }} )