Parse Server技术问询:如何通过查询获取对象ID?
如何通过Parse Query获取对象的ObjectId?
你提到平时可以直接通过gameScore.getObjectId()获取单个对象的ObjectId,想要通过查询来获取的话,思路是对的,但你的代码里有个小细节需要调整——results是查询返回的对象列表(List<ParseObject>),不能直接调用getObjectId(),得先从列表里取出具体的ParseObject实例才行。
下面是修正后的完整示例代码:
ParseQuery<ParseObject> query = ParseQuery.getQuery("mytable"); query.whereEqualTo("Title", "Adrians Book"); List<ParseObject> results = null; try { results = query.find(); if(!results.isEmpty()) { // 取出列表中的第一个匹配对象,再获取它的ObjectId String objectId = results.get(0).getObjectId(); // 如果有多个匹配结果,你可以循环遍历列表处理每个对象 // for (ParseObject obj : results) { // String id = obj.getObjectId(); // // 处理逻辑 // } } } catch (com.parse4cn1.ParseException e) { Dialog.show("Err", "Something went wrong.", "OK", null); }
关键说明:
- 执行
query.find()后会返回所有符合条件的ParseObject集合,所以第一步要判断集合是否为空,避免空指针异常 - 如果你的查询可能返回多个结果,记得用循环遍历整个列表,逐个获取每个对象的ObjectId;如果只需要第一个匹配结果,用
results.get(0)即可 - 拿到ObjectId后,你就可以用它做后续的操作,比如更新对象、关联其他数据等
内容的提问来源于stack exchange,提问作者Simple
相关产品推荐
相关产品推荐

