【问题标题】:Parse Server Database Comprehension解析服务器数据库理解
【发布时间】:2018-09-07 20:38:00
【问题描述】:

我没有使用 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 而不是另一个对象/变量来更新对象,这对我来说是有意义的。

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

【问题讨论】:

    标签: java database codenameone parse-server parse4cn1


    【解决方案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-07-03
      • 2023-03-16
      • 1970-01-01
      • 1970-01-01
      • 2023-03-12
      • 2019-06-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多