Cookies help us deliver our services. By using our services, you agree to our use of cookies. More information

Difference between revisions of "AGGREGATE Movies Tutorial"

From NoSQLZoo
Jump to: navigation, search
Line 33: Line 33:
 
         title:'Casablanca'
 
         title:'Casablanca'
 
     }}
 
     }}
 +
]).pretty()
 +
</pre>
 +
</div>
 +
 +
==Tom Hanks==
 +
<div class=q data-lang="mongo">
 +
You can use the match operator on listed items like cast. As there is an index on cast these queries operate quickly and do not have to scan the entire collection.
 +
<div class=i>Show the title of the Tom Hanks movies.</div>
 +
<pre class=def>
 +
db.movies.aggregate([
 +
    {$match:{
 +
        cast:'Harrison Ford'
 +
    }},
 +
    {$project:{_id:0,title:1}
 +
]).pretty()
 +
</pre>
 +
<pre class=ans>
 +
db.movies.aggregate([
 +
    {$match:{
 +
        cast:'Tom Hanks'
 +
    }},
 +
    {$project:{_id:0,title:1}
 
]).pretty()
 
]).pretty()
 
</pre>
 
</pre>
 
</div>
 
</div>

Revision as of 23:33, 14 October 2016

Investigating the Movie Database

The movie database includes thousands of movies with documents such as:

{
	"_id" : 10522,
	"title" : "Alien",
	"yr" : 1979,
	"director" : "Ridley Scott",
	"budget" : 11000000,
	"gross" : 104931801,
	"cast" : [
		"Tom Skerritt",
		"Sigourney Weaver",
		"Veronica Cartwright",
		"Harry Dean Stanton",
		"John Hurt",
		"Ian Holm",
		"Yaphet Kotto"
	]
}

Casablanca

Show the details of the movie Casablanca

db.movies.aggregate([
    {$match:{
        title:'Alien'
    }},
]).pretty()
db.movies.aggregate([
    {$match:{
        title:'Casablanca'
    }}
]).pretty()

Tom Hanks

You can use the match operator on listed items like cast. As there is an index on cast these queries operate quickly and do not have to scan the entire collection.

Show the title of the Tom Hanks movies.
db.movies.aggregate([
    {$match:{
        cast:'Harrison Ford'
    }},
    {$project:{_id:0,title:1}
]).pretty()
db.movies.aggregate([
    {$match:{
        cast:'Tom Hanks'
    }},
    {$project:{_id:0,title:1}
]).pretty()