Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Parse.com nested queries

I want to solution for nested queries. Actually, i want to get all reviews for each movie. I have two tables:

Movie:

Movie

Review:

Review

It's possible to calculate rating for each movie and set it to avgRating? I don't know why, but i can't get all reviews for one movie.

Parse.Cloud.define("setAvg", function(request, response) {

    var Movie = Parse.Object.extend("Movie");
    var MovieReview = Parse.Object.extend("MovieReview");

    var query = new Parse.Query(Movie);
    query.each(function(movie){
        var reviewQuery = new Parse.Query(MovieReview);
        reviewQuery.equalTo("relatedMovie", movie);
        reviewQuery.find({
          success: function(reviews){
               console.log(reviews);
            }
        });
    }).then(function() {
    response.success("Migration completed successfully.");
    }, function(error) {
    response.error("Uh oh, something went wrong.");
});
});

I getting in logs:

I2015-12-21T17:34:57.777Z][]
I2015-12-21T17:34:57.778Z][{}]
I2015-12-21T17:34:57.779Z][{},{}]
I2015-12-21T17:34:57.780Z][{},{}]
I2015-12-21T17:34:57.781Z][{},{},{}]
I2015-12-21T17:34:57.782Z][{},{}]
like image 702
Sasha Odegov Avatar asked Mar 04 '26 18:03

Sasha Odegov


1 Answers

Parse.Cloud.define("setAvg", function(request, response) {

    var Movie = Parse.Object.extend("Movie");
    var MovieReview = Parse.Object.extend("MovieReview");
    var reviewQuery = new Parse.Query(MovieReview);
    var query = new Parse.Query(Movie);
    query.equalTo("relatedMovie",reviewQuery);
    query.find(function(movie){
        //do whatever you want with the query results
    });
});
like image 159
zahreelay Avatar answered Mar 06 '26 07:03

zahreelay