![](/img/trans.png)
[英]Unable to search for user using parse.com query and 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.