1

我没有使用 ParseServer 的经验,而且我对一些事情有一个令人沮丧的问题。首先是更新对象的方式。好的,我们开始,这是创建对象的过程:

创建对象:

ParseObject gameScore = ParseObject.create("GameScore");
gameScore.put("score", 1337);
gameScore.put("playerName", "Sean Plott");
gameScore.put("cheatMode", false);
gameScore.save();

然后保存后我可以通过以下方式获取ID:

String objectId = gameScore.getObjectId();

问题是一旦我想稍后访问它,将对象 ID 存储在哪里?因为我不能使用局部变量来存储对象 ID,否则它将没有意义,因为存储取决于数据库,变量值在重新启动后也会被重置。

另一个问题:

更新对象:

// Assuming ParseObject 'gameScore' with key 'score'  already exists.

    gameScore.put("score", 73453);
    gameScore.save();

看来我只能通过另一个对象更新一个对象,但是每次重新启动我的应用程序时都会重置我这边的本地对象,因此我的应用程序将无法再次检索它,以防需要更新或获取按 ID。

我的意思是将 Id 放入本地对象/变量中的意义何在,这些对象/变量将在应用程序重新启动时被重置?我的意思是,如果我可以通过存储的 Id 而不是另一个对象/变量来更新对象,这对我来说是有意义的。

非常感谢有人帮助我理解和澄清这些问题。

4

1 回答 1

1

您需要根据需要使用查询来获取对象,例如这是我为查询解析数据库而编写的旧代码:

ParseQuery<ParseAttendance> pq = ParseQuery.getQuery(ParseAttendance.class);
pq.setLimit(1000);
pq.setSkip((page - 1) * pq.getLimit());
pq.whereEqualTo("studentId", studentId);
pq.orderByDescending("year");
pq.addDescendingOrder("month");
pq.addDescendingOrder("day");
List<ParseAttendance> lst = pq.find();

您不会根据要查找的内容保存查询的对象实例。在这种情况下,它返回一个java.util.List考勤对象。

于 2018-03-29T04:33:22.773 回答