android - 更新 parse.com 中的现有记录不工作它做重复

标签 android parse-platform

我正在处理 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/

相关文章:

java - 将数据从 Java RESTful 服务器推送到 Android 手机以进行通知

android - 无法从 Shared Preferences Android 检索 boolean 值

android - 如何从媒体真实路径获取可写的DocumentFile Uri?

java - Android:我无法通过 id 获取布局对象

java - com.parse.PushService。如何捕获异常?

ios - 如何使用解析正确地发出云代码请求?

android - 如何找出 Android 支持库的依赖路径?

swift - 如何从 NSArray 中删除重复的对象?

ios - 共享大块数据 iOS

parse-platform - 什么是每秒请求数 (Parse.com)?