如何避免对“分析用户”表进行查询

How to avoid queries on Parse User table

本文关键字:查询 分析用户 用户 何避免      更新时间:2023-09-26

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

当我还没有在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
        */
    }
});

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

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

提前感谢

使用指针而不是ID。

如果你在葡萄酒表中使用指针,如下所示:

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匹配。