我使用 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 问题,但我希望这里的社区可以提供一些见解,而不是四处寻找支持渠道。提前致谢!