w3resource

Find Movies with "Charles Kayser" in the cast from 'movies' collection


Find all movies with title, languages, released, directors, writers, awards, year, genres, runtime, cast, countries from the 'movies' collection in MongoDB with cast including "Charles Kayser".

Structure of 'movies' collection:

{
    _id: ObjectId("573a1390f29313caabcd42e8"),
plot: 'A group of bandits stage a brazen train hold-up, only to find a determined posse hot on their heels.',
genres: [ 'Short', 'Western' ],
runtime: 11,
cast: [
      'A.C. Abadie',
      "Gilbert M. 'Broncho Billy' Anderson",
      'George Barnes',
      'Justus D. Barnes'
    ],
poster: 'https://m.media-amazon.com/images/M/MV5BMTU3NjE5NzYtYTYyNS00MDVmLWIwYjgtMmYwYWIxZDYyNzU2XkEyXkFqcGdeQXVyNzQzNzQxNzI@._V1_SY1000_SX677_AL_.jpg',
title: 'The Great Train Robbery',
fullplot: "Among the earliest existing films in American cinema - notable as the first film that presented a narrative story to tell - it depicts a group of cowboy outlaws who hold up a train and rob the passengers. They are then pursued by a Sheriff's posse. Several scenes have color included - all hand tinted.",
languages: [ 'English' ],
released: ISODate("1903-12-01T00:00:00.000Z"),
directors: [ 'Edwin S. Porter' ],
rated: 'TV-G',
awards: { wins: 1, nominations: 0, text: '1 win.' },
lastupdated: '2015-08-13 00:27:59.177000000',
year: 1903,
imdb: { rating: 7.4, votes: 9847, id: 439 },
countries: [ 'USA' ],
type: 'movie',
tomatoes: {
viewer: { rating: 3.7, numReviews: 2559, meter: 75 },
fresh: 6,
critic: { rating: 7.6, numReviews: 6, meter: 100 },
rotten: 0,
lastUpdated: ISODate("2015-08-08T19:16:10.000Z")
    }
.....

Query:

db.movies.find({
  "cast": "Charles Kayser"
}, {
  "title": 1,
  "languages": 1,
  "released": 1,
  "directors": 1,
  "writers": 1,
  "awards": 1,
  "year": 1,
  "genres": 1,
  "runtime": 1,
  "cast": 1,
  "countries": 1
})

Output:

{
    _id: ObjectId("573a1390f29313caabcd4135"),
genres: [ 'Short' ],
runtime: 1,
cast: [ 'Charles Kayser', 'John Ott' ],
title: 'Blacksmith Scene',
countries: [ 'USA' ],
released: ISODate("1893-05-09T00:00:00.000Z"),
directors: [ 'William K.L. Dickson' ],
awards: { wins: 1, nominations: 0, text: '1 win.' },
year: 1893
  }

Explanation:

The said query in MongoDB returns movies with their title, languages, released, directors, writers, awards, year, genres, runtime, cast, countries fields from the 'movies' collection in MongoDB that have Charles Kayser in the cast.

The find method filters the documents where the "cast" field contains the value "Charles Kayser".

The second argument is the projection that includes title, languages, released, directors, writers, awards, year, genres, runtime, cast, countries in the result by specifying the value 1.

Improve this sample solution and post your code through Disqus.

Previous: Find movies with nominations from 'movies' collection.
Next: Movies released on May 9, 1893.

What is the difficulty level of this exercise?



Follow us on Facebook and Twitter for latest update.