我的_User
实体设置非常简单,与自身likes
关系(反射)。
常见的用例是列表用户。 我列出的用户很少(例如:15),但我也希望显示他喜欢的数量。
关注standard suggested technique from Parse.com,需要查询15个_User
中的每一个。_User
。
我不认为这是可以接受的,也许2个查询就足够了:
likes
(s)_User
每个{{1}}的数量{{1}} 但我不知道是否可以使用Parse API,所以我正在寻求帮助;)
答案 0 :(得分:1)
如果列是关系,则是,获取计数将需要每个用户进行查询。
如果您希望每个用户的喜欢数量较少(< 100是我的半随意经验法则),您可以将喜欢建模为指针数组。
有了这个,您只需掌握记录就可以知道计数(即someUser.get("likes").length
)。更好的是,查询包含将热切地获取相关用户......
userQuery.include("likes");
userQuery.find().then(function(users) {
if (users.length) {
var someUser = users[0];
var likes = someUser.get("likes");
if (likes.length) { // see, we can get the count without query
var firstLike = likes[0]; // we can even get those other users!
var firstLikeEmail = firstLike.get("email");
}
}
});
否则,使用关系,你会陷入另一个查询...
userQuery.find().then(function(users) {
if (users.length) {
var someUser = users[0];
var likes = someUser.get("likes");
return likes.query().count();
} else {
return 0;
}
}).then(function(count) {
console.log("the first user has " + count + " likes");
});