我想在关系中以javascript检索存储的用户。 所以,我有一个运动事件列表,并且在每个运动事件中都有一个用户(作为Parse数据库的关系)。 所以,我得到了体育活动的清单。 我试图让用户使用这个JavaScript代码:
var user = sportevents[i].get("user").relation("_User");
我也尝试过最简单的方法:
var user = sportevents[i].get("user");
也尝试过:
var user = sportevents[i].relation("user");
但似乎没有任何效果。
我的函数的整个代码是:
query.find({
success: function(sportevents) {
var userIds = [];
//On recupere les identifiants des evenements sportifs
for (var i = 0; i < sportevents.length; ++i) {
var user = sportevents[i].get("user").relation("_User");
userIds[i] = user.id;
}
var queryPush = new Parse.Query(Parse.Installation);
queryPush.containedIn("userId", userIds);
Parse.Push.send({
where: queryPush,
data: {
alert: "Giants scored against the A's! It's now 2-2."
}
}, {
success: function() {
// Push was successful
},
error: function(error) {
// Handle error
}
});
},
error: function(error) {
console.error("Error finding sport events " + error.code + ": " + error.message);
}
我经常读过Parse Doc,但似乎没有什么能适合这个用例。
非常感谢您的帮助。
的Sebastien
答案 0 :(得分:0)
感谢解析facebook团队(尤其是JosephTuấnAnhPhan),答案是:
要加载关系,您必须在Parse.Relation对象上使用query(),如下所示:
var query = new Parse.Query("SportEvent");
query.find({
success: function(sportEvents) {
for (var i in sportEvents) {
var userRelation = sportEvents[i].relation("user");
userRelation.query().find({
success: function(users) { for (var j in users) {
console.log(users[j].id); } } }); }
}, error: function(error) { console.log(error); } })