是否有人知道是否可以一次性以编程方式清除Backendless表中的所有数据?我发现这篇文章展示了如何一次删除一个对象,但没有一次清除整个表:https://backendless.com/documentation/data/android/data_deleting_data_objects.htm
我找到了一种方法,但我不知道它有多高效。基本上,我有一个名为LocalPhoneNum的类,它构成将保存在我的app表中的对象。该类包含用户ID,名称和电话号码。我查询表以查找具有特定电子邮件的用户(现在只有一个用户),然后在循环中使用foundContacts变量逐个删除每个对象。
String whereClause = "userEmailID = mark";
BackendlessDataQuery dataQuery = new BackendlessDataQuery();
dataQuery.setWhereClause( whereClause );
Backendless.Persistence.of(LocalPhoneNum.class).find(dataQuery, new AsyncCallback<BackendlessCollection<LocalPhoneNum>>(){
@Override
public void handleResponse( BackendlessCollection<LocalPhoneNum> foundContacts )
{
for (LocalPhoneNum temp : foundContacts.getData()){
Backendless.Persistence.of( LocalPhoneNum.class ).remove( temp, new AsyncCallback<Long>()
{
public void handleResponse( Long response )
{
Toast.makeText(getActivity(), "DELETED", Toast.LENGTH_LONG).show();
}
public void handleFault( BackendlessFault fault )
{
Toast.makeText(getActivity(), "NOT DELETED "+fault, Toast.LENGTH_LONG).show();
}
} );
}
如果有更好的解决方案或者这个问题没问题,请告诉我。谢谢!
答案 0 :(得分:0)
对“where”查询使用“批量删除”操作,例如“objectId is not null”: https://backendless.com/documentation/data/rest/data_deleting_data_objects.htm