0

我使用 Parse.com 作为基于 Trigger.io 的 Android 应用程序的后端。我的问题是非常基本的,我相信这只是我没有掌握的对 javascript 的一些基本理解——我仍在学习很多关于该语言的知识。

当我在 Parse 中查询对象数组并记录响应时,我得到了我需要的一切:每个对象的属性、唯一对象 ID、createdAt、updatedAt 等。以下是 Parse 中单个对象的示例:

来自 Parse 的对象:

    [信息] 10-03 10:34:21.992 18060 18072 我锻造:[锻造]
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:[{ 属性:
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:{ first_name: 'John',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:姓氏:“史密斯”,
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : 电子邮件: 'john.smith@aol.com',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:电话:'5551112234',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:地址:'',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:城市:'',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:状态:'',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:zip:'',
    [信息] 10-03 10:34:21.992 18060 18072 我锻造:种族:'7',
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : theDate: '10/02/2012',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:formName:'DriverWaiver',
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : 进口: true },
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:_操作:{},
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:_dirty:{},
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:_hashedJSON:{},
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:_escapedAttributes:{},
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:cid:'c38',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造 : id: 'beLlUqrUBl',
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : createdAt: '2012-10-02T17:51:38.267Z',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:更新在:'2012-10-02T17:51:38.267Z',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:_setting:假,
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:_previousAttributes:
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:{ first_name: 'John',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:姓氏:“史密斯”,
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : 电子邮件: 'john.smith@aol.com',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:电话:'5551112234',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:地址:'',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:城市:'',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:状态:'',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:zip:'',
    [信息] 10-03 10:34:21.992 18060 18072 我锻造:种族:'7',
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : theDate: '10/02/2012',
    [信息] 10-03 10:34:21.992 18060 18072 我伪造:formName:'DriverWaiver',
    [信息] 10-03 10:34:21.992 18060 18072 I Forge : 进口: true } },

然而,在保存结果后,没有变量操作,使用 Trigger.io 的 forge.prefs.set(),我只能读取属性。这是使用 forge.prefs.get() 读取后的相同对象:

使用 forge.prefs.set() 保存并使用 forge.prefs.get() 检索后:

    [信息] 10-03 11:05:44.594 19055 19068 我锻造:[锻造]
    [信息] 10-03 11:05:44.594 19055 19068 I Forge : [ { first_name: 'John',
    [信息] 10-03 11:05:44.594 19055 19068 我伪造:姓氏:'史密斯',
    [信息] 10-03 11:05:44.594 19055 19068 I Forge : 电子邮件: 'john.smith@aol.com',
    [信息] 10-03 11:05:44.594 19055 19068 我伪造:电话:'5551112233',
    [信息] 10-03 11:05:44.594 19055 19068 我伪造:地址:'',
    [信息] 10-03 11:05:44.594 19055 19068 我伪造:城市:'',
    [信息] 10-03 11:05:44.594 19055 19068 我伪造:状态:'',
    [信息] 10-03 11:05:44.594 19055 19068 I Forge : zip: '',
    [信息] 10-03 11:05:44.594 19055 19068 我锻造:种族:'7',
    [信息] 10-03 11:05:44.594 19055 19068 I Forge : theDate: '10/02/2012',
    [信息] 10-03 11:05:44.594 19055 19068 我伪造:formName:'DriverWaiver',
    [信息] 10-03 11:05:44.594 19055 19068 I Forge : 进口: true },

产生上述结果的简化代码

    var FormData = Parse.Object.extend(formName);
    var query = new Parse.Query(FormData);
    var currentYear = new Date().getFullYear();

    query.endsWith("theDate", currentYear.toString());
    查询.limit(1000);
    query.descending('imported');

    // 从解析中获取
    查询.find({
      成功:函数(结果){

        // 从 Parse 得到
        if (formName == "DriverWaiver") forgeLog(results);

        // 保存到本地
        forge.prefs.set(formName, results, function(){

            // 保存到本地
            forgeLog("保存到本地");

                // 从本地获取
                forge.prefs.get(formName, function(results){

                    // 从本地获取
                    forgeLog("从本地获取");
                    if (formName == "DriverWaiver") forgeLog(results);      

                }, 功能(){

                    // 从本地获取错误
                    forgeLog("从本地获取错误");

                });         

        }, 功能 (){
            // 错误保存到本地
            forgeLog("保存到本地出错");
        });
      },
      错误:函数(错误){
          // 从解析中获取错误
          forgeLog("从 Parse 获取数据时出错");

      }
    });


所以我想我的问题是:我怎样才能保存整个对象?我真的需要为我的应用程序正常运行保存的唯一 ID。

我将完整的日志输出发送给 Trigger 支持,他们认为这是 Parse API 问题并将我推迟到他们那里。我不相信这是 Parse 问题,但我希望这里的社区可以提供一些见解,而不是四处寻找支持渠道。提前致谢!

4

0 回答 0