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

}}
)
原文地址:https://www.cnblogs.com/ldq1996/p/8318107.html