アプリメーカーのアイテムを作成して更新する方法がありますが、レコード全体が保存されます。ボタンのクリックで特定のフィールドのみを更新したい場合、オプションはありません。あなたがあたり、フィールド節約粒度を持っているので、Google Appメーカーのレコードの保存と更新
モードのAppメーカーオートセーブではどんなオプションがある場合、特定のフィールドを更新する
アプリメーカーのアイテムを作成して更新する方法がありますが、レコード全体が保存されます。ボタンのクリックで特定のフィールドのみを更新したい場合、オプションはありません。あなたがあたり、フィールド節約粒度を持っているので、Google Appメーカーのレコードの保存と更新
モードのAppメーカーオートセーブではどんなオプションがある場合、特定のフィールドを更新する
自動セーブモードに
を投稿してくださいすぐに、すべてのフィールドを保存します。つまり、フィールドの値が変更されるたびに、App Makerは変更を保存するためにサーバーに要求を送信します。
// this code will trigger async call to server to save the modification
// only for this particular field.
app.datasources.MyDatasource.item.MyField = 'My new value';
マニュアルセーブモードマニュアルセーブで
あなたが「でsaveChanges」メソッドのAppメーカーがに行われたすべての変更を永続化しようと呼び出すたび以来、個別の修正サブセットを保存する簡単な方法はありません情報元。
// Implementation with callback chaining if field save
// order matters. It will work extremely slow.
var ds = app.datasources.MyDatasource;
ds.item.MyField1 = 'My new value 1';
ds.saveChanges(function() {
ds.item.MyField2 = 'My new value 2';
ds.saveChanges(function() {
ds.item.MyField3 = 'My new value 3';
...
});
});
// Implementation without chaining. In theory should work
// faster(if it would work at all...)
var ds = app.datasources.MyDatasource;
ds.item.MyField1 = 'My new value 1';
ds.saveChanges();
ds.item.MyField2 = 'My new value 2';
ds.saveChanges();
ds.item.MyField3 = 'My new value 3';
ds.saveChanges();
...
サーバースクリプト
マニュアルセーブモードの場合とほとんど同じ答えが、それは、なんとかですが、:ここではいくつかのかなり悪いの回避策は、あなたが他のオプションを持っていない場合を除き、私はをお勧めしませんということですパフォーマンスは大幅に低下するため、とはお勧めしません。
record.MyField1 = 'My new value 1';
app.saveRecords([record]);
record.MyField2 = 'My new value 2';
app.saveRecords([record]);
record.MyField3 = 'My new value 3';
app.saveRecords([record]);
...
ありがとうございます。自動保存モードを無効にしたいのですが、これを行う方法があります。 –
確かに、データソース設定で「手動保存モード」チェックボックスを見つけることができます:https://stackoverflow.com/questions/45686397/how-to-i-revert-to-manual-save-mode/45696897#45696897 –
ありがとうpavelそれは助ける –
なぜそれが必要ですか? –