2014-09-12 66 views
1

我正在parse.com演示,我想更新現有的條目從parse.com中的表。每次重複輸入。我嘗試了下面的內容。更新parse.com中的現有記錄不工作它做重複

ParseQuery<ParseObject> query = new ParseQuery<ParseObject>("MQOD"); 

     // query.orderByDescending("createdAt"); 
     query.whereEqualTo("DeviceId", android_id); 

     // query.toString(); 
     System.out.println("::::::::::::::::::QUERY:::::::::::::::" 
       + query); 
     try { 
      ob = query.find(); 
     } catch (com.parse.ParseException e1) { 
      // TODO Auto-generated catch block 
      e1.printStackTrace(); 
     } 
     testObject.put("DeviceId", android_id); 
     testObject.put("InstallationDate", subscriptionDate); 
     testObject.put("Subscription", "Done"); 
     testObject.put("NextSubscription", upGradeDate); 

     try { 
      testObject.save(); 
     } catch (com.parse.ParseException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } else { 
     // Purchase error...!! 
     System.out.println("::::::::::::::::::::::::Purchase consumehas failed:::::::::::::::::::::"); 
    } 
} 

回答

2

從你的代碼,看來你不使用標準的現場ID objectID(即在所有的解析類表使用的官方ID字段),但DeviceId(我想這是你的自定義字段)。

否則,您必須將DeviceId設置爲唯一字段,並且要使其成爲可能,您必須在「beforeSave」解析觸發器中檢查新傳入的DeviceId,然後檢查該元素是否已存在或不存在(另請參閱這樣的:https://www.parse.com/questions/unique-fields--2

所以,在現在,你每次都獲得dubplicate,因爲它被認爲是插入而不是更新(因爲你不指定objectId

希望這是正常的它可以幫助

+0

謝謝你luca ...你救了我.. :) – user3820044 2014-09-13 05:10:11

+1

你是我們lcome;) – 2014-09-13 17:01:42