Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 迁移到自托管服务器之前解析数据清理_Java_Parse Platform - Fatal编程技术网

Java 迁移到自托管服务器之前解析数据清理

Java 迁移到自托管服务器之前解析数据清理,java,parse-platform,Java,Parse Platform,嗨,我想在迁移之前清理我的解析表。问题是我的表有一个指向用户表的指针,但是相关的用户已经被删除了。 所以我想要一个函数,可以帮助我删除这些数据 提前感谢我找不到任何默认方法 我已经用java编写了一些代码 也许对你有帮助 public void DataCleanUp() { Log.d("TaDeleted","inside"); String[] tableCloumn={"User Pointer Column Names",""}; String[] tableA

嗨,我想在迁移之前清理我的解析表。问题是我的表有一个指向用户表的指针,但是相关的用户已经被删除了。 所以我想要一个函数,可以帮助我删除这些数据


提前感谢

我找不到任何默认方法 我已经用java编写了一些代码 也许对你有帮助

public void DataCleanUp()
{
    Log.d("TaDeleted","inside");
    String[] tableCloumn={"User Pointer Column Names",""};
    String[] tableArray={"Class Names Here ",""};



        for(int i=0;i<tableArray.length;i++)
        {
            List<ParseObject> objects=null;
            ParseQuery query=new ParseQuery(tableArray[i]);
            query.setLimit(1000);
            query.include(tableCloumn[i]);
            try {
                objects= query.find();
            } catch (ParseException e) {
                e.printStackTrace();
            }

            if(objects!=null)
                if(!objects.isEmpty())
                {
                    Log.d("Table To Deleted",""+tableArray[i]);
                    for(int j=0;j<objects.size();j++)
                    {
                        if((ParseUser) objects.get(j).get(tableCloumn[i])==null)
                        {
                            try {
                                objects.get(j).delete();
                                Log.d("Deleted", "" + objects.get(j).getObjectId());
                            } catch (ParseException e) {
                                e.printStackTrace();
                            }
                        }
                    }
                }
        }
    Toast.makeText(getApplicationContext(),"Deleted",Toast.LENGTH_SHORT).show();
}
public void DataCleanUp()
{
日志d(“TaDeleted”、“inside”);
字符串[]tableCloumn={“用户指针列名”,“”};
字符串[]tableArray={“此处的类名”,“”};

对于(inti=0;i另一种方法可能有用

公共无效数据清理(字符串用户ID) { 日志d(“TaDeleted”、“inside”); 字符串[]tableCloumn={“用户指针1”,“用户指针2”。}; 字符串[]tableArray={“解析类名1”,“解析类名2”…}

列表用户=null;
ParseQuery query1=ParseUser.getQuery();
查询1.whereEqualTo(“objectId”,userId);
试一试{
user=query1.find();
}捕获(解析异常){
e、 printStackTrace();
}
如果(用户!=null)

对于(int i=0;这应该是不可能的…当您删除一个用户时,parse会自动删除指向该用户的所有指针…在我的情况下不会发生这种情况,我在其他表中有指向该用户的指针,但不存在相同的用户。这是我一直在寻找的,谢谢
    List<ParseUser> user=null;
    ParseQuery<ParseUser> query1 = ParseUser.getQuery();
    query1.whereEqualTo("objectId", userId);
    try {
          user=query1.find();
    } catch (ParseException e) {
        e.printStackTrace();
    }
    if(user!=null)
    for(int i=0;i<tableArray.length;i++)
    {
        List<ParseObject> objects=null;
        ParseQuery query=new ParseQuery(tableArray[i]);
        //query.whereEqualTo(tableCloumn[i], user.get(0));
        query.whereEqualTo(tableCloumn[i], user.get(0));
        query.setLimit(1000);
        try {
            objects= query.find();
        } catch (ParseException e) {
            e.printStackTrace();
        }

            if(objects!=null)
                if(!objects.isEmpty())
                {
                    Log.d("Table To Deleted",""+tableArray[i]);
                    for(int j=0;j<objects.size();j++)
                    {
                        try {
                            Log.d("Deleted",""+objects.get(j).getObjectId());
                            objects.get(j).delete();
                        } catch (ParseException e) {
                            e.printStackTrace();
                        }
                    }
                }
    }
    Toast.makeText(getApplicationContext(),"Deleted",Toast.LENGTH_SHORT).show();
}