使用Parse查询用户对象中的列 - Javascript

时间:2015-04-12 15:11:22

标签: javascript html parse-platform

嘿伙计们,目前我在使用Parse for Javascript时出现了一个小问题,我之前使用过Parse但是对于Android而言,由于某种原因发现它比使用Javascript更容易理解。

我当前的问题是我试图通过检查“角色”列中是否有1或2的整数来查询我的解析数据库中的User对象以查看它们是否是管理员。代表一个Admin,2代表一个普通用户。

如果我记得正确查询用户与查询数据库中的普通对象不同,那么我不确定为什么这个查询没有正确执行。如果我取出查询功能正常,并在警告框中显示设置的“欢迎”消息,但当我添加查询时,它似乎没有执行该功能。

我在数据库中的表如下所示: enter image description here

我目前的代码如下:

$('.form-signin').on('submit', function(e) {

    // Prevent Default Submit Event
    e.preventDefault();

    // Get data from the form and put them into variables
    var data = $(this).serializeArray(),
        username = data[0].value,
        password = data[1].value;

    // Call Parse Login function with those variables
    Parse.User.logIn(username, password, {
        // If the username and password matches
        var query = new Parse.Query(Parse.User);
        query.equalTo("role", 1); //finding the role number

        query.find({
            success: function(user) {
                alert('Welcome!');
            },
            // If there is an error
            error: function(user, error) {
                console.log(error);
            }
        });
    });
});

1 个答案:

答案 0 :(得分:2)

已登录的用户已完成

logIn(),因此无需额外查询即可查看该用户的属性。 Parse.User.current是在成功登录后随时获取当前用户的另一种方式。

编辑 - 此代码登录用户并检查用户是否将角色设置为数字1:

Parse.User.logIn(username, password).then(function(user) {
    var role = user.get("role");
    if (role == 1) {
        console.log("login success, role is 1");
    } else {
        console.log("login success, role is " + role);
    }
}, function(error) {
    // handle error
});