我正在处理 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:::::::::::::::::::::");
}
}
最佳答案
从您的代码看来,您没有使用标准字段 id objectID
(这是所有 Parse 类表中使用的官方 id 字段),而是使用 DeviceId
(我想这是您的自定义字段)。
否则你必须让你的 DeviceId
成为唯一字段,并且为了让它成为可能,你必须在“beforeSave”解析触发器中检查新传入的 DeviceId,因此检查元素是否已经存在与否(另见:https://www.parse.com/questions/unique-fields--2)
所以,现在你每次都得到一个副本是正常的,因为它被认为是插入而不是更新(因为你没有指定 objectId
)
希望对你有帮助
关于android - 更新 parse.com 中的现有记录不工作它做重复,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25808535/