Select documents from one collection based on IDs stored in another in Meteor and MongoDB -


i have 3 collections, users (meteor built-in), movies, , seen. document in seen consists of movie id (the movie's id in movies collection) , user id (analogous), indicating that user has seen movie.

i want movies (documents) in movies collection current user has seen.

i know how select documents seen user ids match current user's id. make array of movie ids row , use mongo's $in operator? what's best way this?

as mentioned, can use documents seen collection user ids match current user's id make array of movie ids can query on movies collection. following:

var seen = seen.find({ "userid": meteor.userid() }).fetch(); // seen documents var movieids = seen.map(function (s){ return s.movieid; }); // seen movie ids list var seenmovies = movies.find({"_id": { "$in": movieids }}).fetch(); // seen movies console.log(json.stringify(seenmovies, null, 4)); 

Comments