【发布时间】:2015-05-13 01:45:09
【问题描述】:
我在 parse.com 上遇到了多对多关系的问题。
首先我有两个类(Groups和Users)和一个类(UserInGroup)来实现m对m的关系。
类结构:
组: objectId(string) -- 组名(string) -- ...
用户: objectId(string) -- 用户名(string) -- ...
用户组:
objectId(string) -- Group(Pointer
如何获取特定组中所有用户的用户名(我知道组的 objectId)。
我试过了
function getUserNameOfGroup(GroupID){
var UserInGroup = Parse.Object.extend("UserInGroup");
var query = new Parse.Query(UserInGroup);
var usersArray = [];
var Groups = Parse.Object.extend("Groups");
var collectionQuery = new Parse.Query(Groups);
collectionQuery.get(GroupID, {
success: function(group) {
query.equalTo("Group", group);
var usersArray = [];
query.find({
success: function(results) {
for (var i = 0; i < results.length; i++) {
var object = results[i];
var user = object.get("User");
user.fetch({
success: function(tempUser) {
usersArray.push(user.get("UserName"));
}
}).done(function() {
if(results.length == usersArray.length){
//do something with the array
}
});
}
},
error: function(error) {
alert("Error: " + error.code + " " + error.message);
}
});
},
error: function(object, error) {
alert("Error: " + error.code + " " + error.message);
}
});
}
为了测试我放了
if(results.length == usersArray.length){
for (var i = 0; i < usersArray.length; i++) {
alert(usersArray[i]);
}
}
在完成部分。 usersArray 的第一个条目总是“未定义”。
我做错了什么?或者更确切地说,有没有更简单、更美观、更快捷的方式来获取数组?我确信有更好的解决方案;)。
感谢您的帮助。
【问题讨论】:
标签: javascript pointers parse-platform many-to-many