You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Back4app Parse Server查询可打印JSON却无法获取objectId问题求助

问题解决方法

根本原因

Parse JS SDK 对系统内置字段提供了专属访问逻辑,objectId、createdAt、updatedAt三个平台默认生成的字段不属于自定义字段范畴,无法通过读取自定义字段的get("字段名")方法获取值。

正确取值方案

直接访问返回的Parse对象实例的id属性,即可拿到对应记录的objectId值:

  • 第一段代码修改示例:
const parseQuery = new Parse.Query("User");
parseQuery.equalTo("username", "Azha");
let queryResult = await parseQuery
  .find()
  .then((results) => {
    results.forEach((prod) => {
      // 直接读取id属性即可获取objectId
      console.log("Product ID Available : " + prod.id);
    });
  })
  .catch((error) => {
    console.log(error);
  });
  • 第二段代码修改示例:
const parseQuery = new Parse.Query("User");
parseQuery.equalTo("username", "Azha");
try {
  let todos = await parseQuery.find();
  if (todos.length > 0) {
    // 直接读取id属性即可获取objectId
    console.log("yes Approval : " + todos[0].id);
  } else {
    console.log("No Approval");
  }
  console.log("- value is : " + JSON.stringify(todos));
  console.log("----------------------");  
} catch (error) {
  Alert.alert("Error!", error.message);
}

后续更新操作参考

拿到objectId后可以直接基于id生成待更新对象,无需二次查询即可完成数据更新,示例如下:

// 替换为实际获取到的objectId值
const targetUserId = 'IuBGmCtxyu';
const targetUser = Parse.User.createWithoutData(targetUserId);
// 设置需要更新的字段和值
targetUser.set('companyname', '更新后的公司名称');
// 执行保存完成更新
await targetUser.save();

内容的提问来源于stack exchange,提问作者zack azha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 11:48:01