Backendless - 清算表

时间:2016-07-26 19:28:34

标签: android backendless

是否有人知道是否可以一次性以编程方式清除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();
                    }
                } );
            }

如果有更好的解决方案或者这个问题没问题,请告诉我。谢谢!

1 个答案:

答案 0 :(得分:0)

对“where”查询使用“批量删除”操作,例如“objectId is not null”: https://backendless.com/documentation/data/rest/data_deleting_data_objects.htm