2014-10-16 70 views
2

使用parse.com和JavaScript SDK。如何使用parse.com和JavaScript SDK合并多个查询结果?

我有两个查询都可以工作,但我想将结果合并为一个,这样我就可以在html页面上显示彼此相邻的不同字段。

什么是最好的方法来做到这一点?查询使用不同的类。

我在看用户指南,想用类似复合查询的东西吗?

var mainQuery = Parse.Query.or(queryOne, queryTwo); 

但不知道是否需要这样做,如果我实际上可以将它们嵌套它们呢?

查询1

var GlobalBadges = Parse.Object.extend("Global_Badges"); 
var query = new Parse.Query(GlobalBadges); 
query.exists("Global_Badges_img"); 
query.find({ 
    success: function(results) { 
     var friends = []; 
     for (var i = 0; i < results.length; i++) { 
      friends.push({ 
       imageURL: results[i].get('Global_Badges_img'), 
       //friendRequestId: results[i].id, 
       badgename: results[i].get('BadgeName'), 
       category: results[i].get('category') 
      }); 
     } 

查询2

var toUser = new Parse.User(); 
     toUser.id = toUserId; 

     var myBadges = Parse.Object.extend("myBadges"); 
     var query = new Parse.Query(myBadges); 

     query.equalTo("SentTo", toUser); 
     query.find({ 
      success: function(Badgeresults) { 
       // If the query is successful, store each image URL in an array of image URL's 
       var Badges = []; 
       for (var i = 0; i < Badgeresults.length; i++) { 

         Badges.push({ 
        imageURL: Badgeresults[i].get('BadgeName'), 
        AwardedBy: Badgeresults[i].get('uploadedBy').get('username'), 
        AwardedTo: Badgeresults[i].get('SentTo').get('username'), 
        comment: Badgeresults[i].get('Comment'), 


       }); 

      } 
+0

我不知道你所说的“巩固成果转化为一个”的意思。这些查询是相关的吗?他们似乎是不同的东西,没有什么共同之处。 – RotaJota 2014-10-16 20:58:16

+0

@ Dano007,你的问题解决了吗? – jeffdill2 2015-12-22 16:20:24

回答

0

如果我正确理解你的问题,而你只是需要来呈现两种不同的查询到您的网页结果,最简单的方法将其中一个查询发生在成功回调的其他查询中。像下面这样:

render: function() { 
    var _this = this; 
    var productQuery = new Parse.Query('Product'); 
    var itemQuery = new Parse.Query('Item'); 

    productQuery.find({ 
    success: function(products) { 
     itemQuery.find({ 
     success: function(items) { 
      _this.$el.html(_this.template({ 
      products: products, 
      items: items 
      })); 
     }, 
     error: function(error) { 
      // WHATEVER 
     } 
     }); 
    }, 
    error: function(error) { 
     // WHATEVER 
    } 
    }); 
} 
相关问题