解析服务器数据库理解

Parse Server Database Comprehension

我没有使用 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 放入本地 objects/variables 有什么意义,它会在应用程序重新启动时重置?我的意思是,如果我可以通过存储 ID 而不是另一个 object/variable.

来更新对象,这对我来说是有意义的

如果有人帮助我理解和澄清这些问题,我将不胜感激。

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

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();

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