Fork me on GitHub

役立ちぬ開発史、それはただのブログ

覚えておくといい、ブログの時代は終わる。いつかその内、きっとたぶん…

Parseのデータを更新する方法

| Comments

これまでで、データの取り出しまで終わったので、次はデータを更新する操作方法を書きます!
なんだかんだで、意外によくこの機能を使いました。ユーザー情報の変更の時とかで、使う場が多かった記憶があります。

データの更新方法

データを更新するのはとても簡単です。以下のコードように、更新したいカラムに新しいデータをsetで設定し、saveメソッドを呼び出すだけです。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Objectの作成
var Example = Parse.Object.extend("Example");
var example = new Example();

  example.set("age", 21);
  example.set("testName", "Test Name");
  example.set("sex", false);
  example.set("hobby", [gardening, driving]);

example.save(null, {
  success: function(example) {
    //ここで更新したいカラムにデータを設定する。
    //ageとsexはクラウドに送られて更新されるが、setしていないNameとhobbyは変更されない。
    example.set("age", 25);
    example.set("sex", true);
    example.save();
  },
  error: function(example, error) {
    alert('Failed to create new object, with error code: ' + error.description);
  }
});

Parseは、更新するつもりのなかったデータで押し潰さない良いように設定が出来てるみたいです。

カウンタ

Parseには、カウンタ型のデータのために、自動的にインクリメント(またはデクリメント)するメソッドが用意されています。例えば、"age"をインクリメントさせたい場合は、以下のように書きます。

1
2
example.increment("age");
example.save();

また、増加させたい任意の量をインクリメントの第二引数で設定することができます。量を指定しない場合は、デフォルトの1になります。

配列

配列にデータを格納するために、使用できる3つの操作があります。

  • add
    • 配列フィールドの後ろに、与えられてたオブジェクトを追加する。
  • addUnique
    • 配列フィールドに、与えられたオブジェクトが含まれていない場合のみ追加。ただし、追加する位置は保証されない。
  • remove
    • 配列フィールドから与えられたオブジェクトをすべて取り除く。

以下のように書くと、"hobby"の中に同じものがなければ、アイテムを追加できます。

1
2
3
example.addUnique("hobby", "driving");
example.addUnique("hobby", "golf");
example.save();

同じsaveメソッドでは、配列からアイテムの追加と削除を同時に行えないので、注意しましょう。なので、異なる種類の配列操作ごとに、saveメソッドを呼び出す必要があります。

参考先:

Updating Objects(公式docs)

Comments