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();
}