簡體   English   中英

如何使用parse.com和JavaScript SDK合並多個查詢結果?

[英]How to consolidate multiple query results using parse.com and 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'),


                });

            }

如果我正確理解了您的問題,並且您只需要向頁面呈現兩個不同查詢的結果,則最簡單的方法是讓其中一個查詢發生在另一個查詢的成功回調中。 類似於以下內容:

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
    }
  });
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM