如何避免对Parse User表的查询

时间:2015-03-20 15:41:57

标签: javascript parse-platform cloud

我们说我有一个字段来检查用户是否订阅了邮件列表。

我以前通过这样做检查,当我还没有在我的ParseCloud函数上为相关用户提供任何其他参考但是对象ID:

var query_user = new Parse.Query(Parse.User);
query_user.equalTo('objectId', result_wine.get('user').id);
return query_user.first().then(function(user) {
    if (user.get("subscribed_mail") === true) {
        /*
            Perform action
        */
    }
});

是否存在一种避免进行此类查询的方法,并在不进行此查询的情况下获取此字段信息?

我可以以任何方式改进此查询吗?

先谢谢

1 个答案:

答案 0 :(得分:0)

使用指针而非ID。

如果您在Wine表中使用指针,如下所示:

wine.set('user', userObject);

然后,您只需将其包含在您的查询中:

wineQuery.include('user');

允许您访问它:

var user = wine.get('user');
if (user.get('subscribed_mail') === true) {
    // do stuff
}

查询时,您也可以轻松地与整个对象进行比较:

wineQuery.equalTo('user', Parse.User.current());
不用担心,Parse将它全部转换为后台的超快速ID匹配。