Trigger.io ベースの Android アプリのバックエンドとして Parse.com を使用しています。私の問題はかなり基本的なものであり、私が理解していないのは javascript の基本的な理解にすぎないと確信しています - 私はまだ言語について多くを学んでいます.
オブジェクトの配列に対して Parse をクエリし、応答をログに記録すると、各オブジェクトの属性、一意のオブジェクト ID、createdAt、updatedAt など、必要なものがすべて得られます。以下は、Parse からの単一オブジェクトの例です。
解析からのオブジェクト:
[情報] 10-03 10:34:21.992 18060 18072 フォージ: [フォージ] [情報] 10-03 10:34:21.992 18060 18072 I フォージ: [ {属性: [INFO] 10-03 10:34:21.992 18060 18072 I Forge: { first_name: 'John', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: last_name: 'Smith', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: メール: 'john.smith@aol.com', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: 電話: '5551112234', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: アドレス: '', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: 都市: '', [情報] 10-03 10:34:21.992 18060 18072 I フォージ: 状態: ''、 [INFO] 10-03 10:34:21.992 18060 18072 I Forge: zip: '', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: レース: '7', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: theDate: '10/02/2012', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: formName: 'DriverWaiver', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: インポート: true }, [INFO] 10-03 10:34:21.992 18060 18072 I Forge: _operations: {}, [情報] 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: {}、 [INFO] 10-03 10:34:21.992 18060 18072 I Forge: cid: 'c38', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: id: 'beLlUqrUBl', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: createdAt: '2012-10-02T17:51:38.267Z', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: updatedAt: '2012-10-02T17:51:38.267Z', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: _setting: false, [情報] 10-03 10:34:21.992 18060 18072 I フォージ: _previousAttributes: [INFO] 10-03 10:34:21.992 18060 18072 I Forge: { first_name: 'John', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: last_name: 'Smith', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: メール: 'john.smith@aol.com', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: 電話: '5551112234', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: アドレス: '', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: 都市: '', [情報] 10-03 10:34:21.992 18060 18072 I フォージ: 状態: ''、 [INFO] 10-03 10:34:21.992 18060 18072 I Forge: zip: '', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: レース: '7', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: theDate: '10/02/2012', [INFO] 10-03 10:34:21.992 18060 18072 I Forge: formName: 'DriverWaiver', [INFO] 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 I フォージ: [フォージ] [INFO] 10-03 11:05:44.594 19055 19068 I Forge : [ { first_name: 'John', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: last_name: 'Smith', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: メール: 'john.smith@aol.com', [情報] 10-03 11:05:44.594 19055 19068 I Forge: 電話: '5551112233', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: アドレス: '', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: 都市: '', [情報] 10-03 11:05:44.594 19055 19068 I フォージ: 状態: ''、 [INFO] 10-03 11:05:44.594 19055 19068 I Forge: zip: '', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: レース: '7', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: theDate: '10/02/2012', [INFO] 10-03 11:05:44.594 19055 19068 I Forge: formName: 'DriverWaiver', [INFO] 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()); query.limit(1000); query.descending('imported'); // パースから取得 query.find({ 成功: 関数 (結果) { // パースから取得 if (formName == "DriverWaiver") forgeLog(results); // ローカルに保存 forge.prefs.set(formName, results, function(){ // ローカルに保存 forgeLog("ローカルに保存"); // ローカルから取得 forge.prefs.get(フォーム名、関数(結果){ // ローカルから取得 forgeLog("ローカルから取得"); if (formName == "DriverWaiver") forgeLog(results); }、 関数(){ // ローカルからの取得エラー forgeLog("ローカルからの取得エラー"); }); }、 関数 (){ // ローカルへの保存エラー forgeLog("ローカルへの保存エラー"); }); }、 エラー: 関数 (エラー) { // 解析から取得中にエラーが発生しました forgeLog("Parse からのデータ取得エラー"); } });
だから私は私の質問だと思います:オブジェクト全体を保存するにはどうすればよいですか? アプリが正しく機能するためには、一意の ID を保存する必要があります。
完全なログ出力をトリガー サポートに送信しましたが、彼らはそれが Parse API の問題であると結論付け、私を彼らに任せました。これが Parse の問題であるとは確信していませんが、サポート チャネルに飛び回るのではなく、ここのコミュニティが何らかの洞察を提供してくれることを願っています。前もって感謝します!