コレクションアイテム

コレクションアイテム の管理には、次の関数とプロパティーを使用します。

メソッド/プロパティー 解説
monaca.cloud.CollectionItem.update() コレクションアイテムのデータを更新します。
monaca.cloud.CollectionItem.getPermission() コレクションアイテムに設定されたパーミッション情報を取得します。
monaca.cloud.CollectionItem.updatePermission() コレクションアイテムに対してパーミッションを設定します。
monaca.cloud.CollectionItem.remove() コレクションアイテムを削除します。
monaca.cloud.CollectionItem._id コレクションアイテムの識別子です。
monaca.cloud.CollectionItem._ownerUserOid コレクションアイテムの所有者の oid です。
monaca.cloud.CollectionItem._createdAt コレクションアイテムの作成日時です。
monaca.cloud.CollectionItem._updatedAt コレクションアイテムの更新日時です。collection item

CollectionItem.update()

コレクションアイテムの現在の値を、バックエンドサーバーに送信して、保存します。

CollectionItem.update() : $.Promise

パラメーター

  • なし

戻り値

解説
$.Promise オブジェクト 結果の処理には、 done()fail()always() を使用します。

done() コールバック関数の result パラメーター

  • permission: (オブジェクト) KeyValue の組み合わせ。例 : {public: ‘rw’}

エラーコード

エラーが発生すると、Error オブジェクトを返します。

コード 解説
-32602 不正なパラメーターです。
-14 パーミッションがありません ( そのユーザーは書き込みのパーミッションを有していません )。

次のサンプルコードでは、コレクションのアイテムを更新しています。

var Diary = monaca.cloud.Collection("diary");
var newTitle = 'Updated: It’s snowing again';

Diary.findOne()
.done(function(item)
{
    item.title = newTitle;
    item.update()
    .done(function(result)
    {
        console.log('Updating success');
    })
    .fail(function(err)
    {
        console.log("Err#" + err.code +": " + err.message);
    });
});

CollectionItem.getPermission()

コレクションアイテム に設定されたパーミッションを取得します。ユーザーまたは端末側が、 書き込み用パーミッション を持っていれば、取得できます。

CollectionItem.getPermission() : $.Promise

パラメーター

  • なし
解説
$.Promise オブジェクト 結果の処理には、 done()fail()always() を使用します。

done() コールバック関数の result パラメーター

  • permission: (オブジェクト) KeyValue の組み合わせ。例 : {public: ‘rw’}

エラーコード

エラーが発生すると、Error オブジェクトを返します。

コード 解説
-14 パーミッションがありません ( そのユーザーは書き込みのパーミッションを有していません )。

コレクションアイテム のパーミッションの取得方法の例を、次に示します。

var Diary = monaca.cloud.Collection("diary");

Diary.findOneMine()
.done(function(item)
{
    item.getPermission()
    .done(function(result)
    {
        console.log(result.permission);
    })
    .fail(function(err)
    {
        console.log("Err#" + err.code +": " + err.message);
    });
});

CollectionItem.updatePermission()

コレクションアイテムのパーミッションを更新します。ユーザーまたは端末に対して設定されているパーミッションが、 書き込み用パーミッション を持っていれば、更新できます。

CollectionItem.updatePermission(permission: Object) : $.Promise

パラメーター

パラメーター 解説
permission JSON オブジェクト 設定するパーミッション。 rw は読み書き、 r は読み込み専用、 w は書き込み専用、空文字列は 「 パーミッション無し 」 になります。

戻り値

解説
$.Promise オブジェクト 結果の処理には、 done()fail()always() を使用します。

done() コールバック関数の result パラメーター

  • numUpdates: ( 数値 ) 値は常に 1 になります。

エラーコード

エラーが発生すると、Error オブジェクトを返します。

コード 解説
-32602 不正なパラメーターです。
-14 パーミッションがありません ( そのユーザーは書き込みのパーミッションを有していません )。

コレクションアイテム へのパーミッションの設定方法を、次の例で示します。

var Diary = monaca.cloud.Collection("diary");

Diary.findOneMine()
.done(function(item)
{
    item.updatePermission({
        public: "r",
        "u00000000-xxxx-xxxx-xxxxxxxx": "rw",
        "u00000000-xxxx-xxxx-xxxxxxxx": ""
    })
    .done(function()
    {
        console.log("Permission updated!");
    })
    .fail(function(err)
    {
        console.log("Err#" + err.code +": " + err.message);
    });
});

指定されたコレクションアイテムへのパーミッションの設定方法を、次の例で示します。

var Diary = monaca.cloud.Collection("diary");

var oids = {
            userB: "x00000000-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
            userZ: "x00000000-yyyy-yyyy-yyyy-yyyyyyyyyyyy"
            };
var targetItem = null;

Diary.findOneMine()
.then(function(item)
{
    targetItem = item;
    return targetItem.getPermission();
})
.then(function(result)
{
    result.permission[oids.userB] = "rw";
    result.permission[oids.userZ] = "rw";
    return targetItem.updatePermission(result.permission);
})
.then(function()
{
    console.log("Permission updated!");
});

CollectionItem.remove()

コレクションアイテムを削除します。

monaca.cloud.CollectionItem.remove() : $.Promise
廃止予定の CollectionItem.delete() の代わりに、こちらの関数を使用します。 CollectionItem.delete() 自体はまだ使用できますが、こちらの新しい関数を使用することを推奨します。

パラメーター

  • なし
解説
$.Promise オブジェクト 結果の処理には、 done()fail()always() を使用します。

エラーコード

エラーが発生すると、Error オブジェクトを返します。

コード 解説
-14 パーミッションがありません ( そのユーザーは書き込みのパーミッションを有していません )。
-32602 不正なパラメーターです。

コレクションアイテム へのパーミッションの設定方法を、次の例で示します。

var Diary = monaca.cloud.Collection("diary");

Diary.findOne('title == "I hate him"')
.done(function(item)
{
    item.remove()
    .done(function()
    {
        console.log("Yes indeed I like him");
    });
});

CollectionItem._id

コレクションアイテムの識別子です。.

monaca.cloud.CollectionItem._id : String ( 読み込み専用 )

戻り値

  • データの所有者の oid ( 文字列 )

find() 関数で検索した後、各アイテムの oid の文字列を console.log() で表示する例を、次に示します。

/* find function */
.done(function(result)
{
    result.items.forEach(function(item)
    {
        console.log(item._id);
    });
});

CollectionItem.ownerUserOid

データを作成したユーザーの oid です。

monaca.cloud.CollectionItem._ownerUserOid : String ( 読み込み専用 )

戻り値

  • データの所有者の oid ( 文字列 )

find() 関数で検索した後、データ所有者が保有する各アイテムの oid 文字列を、console.log() で表示する例を、次に示します。

/* find function */
.done(function(result)
{
    result.items.forEach(function(item)
    {
        console.log(item._ownerUserOid);
    });
});

CollectionItem._createdAt

アイテムの作成日時です。

_createdAt : Date (読み込み専用)

戻り値

  • アイテムの作成日時です ( Date オブジェクト )

find() 関数で検索した後、各アイテムの作成日時を、console.log() で表示する例を、次に示します。

/* find function */
.done(function(result)
{
    result.items.forEach(function(item)
    {
        console.log(item._createdAt);
    });
});

CollectionItem.updatedAt

アイテムの更新日時です。

monaca.cloud.CollectionItem._updatedAt : Date ( 読み込み専用 )

戻り値

  • アイテムの更新日時です ( Date オブジェクト )

find() 関数で検索した後、各アイテムの更新日時を、console.log() で表示する例を、次に示します。

/* find function */
.done(function(result)
{
    result.items.forEach(function(item)
    {
        console.log(item._updatedAt);
    });
});