在云代码中测试用户名是否在 Parse 的 User class 中

Test if a username is in the User class of Parse in cloud code

在我们的网站上,如果视频上传到 Youtube,我希望人们能够举报,因此我们的网站上有 3 个字段。用户名、密码和视频 ID 字段。当用户点击 Html 按钮时,我们让它调用 javascript 函数。

    function reportUpload() {
    Parse.Cloud.run('report_upload',
    {
        username: "testUser",
        password: "testPassword",
        videoId: "VQv9xfOfLOY"
    },{
        success: function(result) {
            //Do Neat Stuff
        },
        error: function(e) {
            //error
        }
    });
}

那就调用我们的云代码函数。我们需要云代码函数从 User class 中提取用户名并测试它们是否匹配。如果有任何匹配,他们将需要检查密码是否匹配。如果所有这些都没有失败,它将向应用程序的一位用户发送推送通知。

到目前为止,在云代码功能中我已经弄清楚了如何查询所有用户名。

Parse.Cloud.define("report_upload", function(request, response) {
    console.log(request.params);
    var query = new Parse.Query(Parse.User);
    query.find({
        success: function(results){
            var users = [];
            //extract out user names from results
            for(var i = 0; i < results.length; ++i){
                users.push(results[i].get("username"));
            }
            response.success(users);
            console.log(JSON.stringify(users));
        }, error: function(error){
            response.error("Error");
          }
    });
});

谢谢

您似乎想检查某个特定用户是否已经使用特定用户名创建了一个帐户。

您必须查询用户 class。默认情况下,用户 class 是安全的。 在云代码中,你应该写 Parse.useMasterKey(); 以获得完全访问权限(小心,阅读下面的注释)。

var myquery = new Parse.Query(Parse.User);
myquery.equalTo("username",yourUsernameHere);
myquery.find({
success: function(results){
if(results.length === 0)
{
    // User not found
}
else
{
    // found
}
});

注意:使用主密钥会覆盖您数据的所有个人访问权限。绝对确定你在做什么。