Script入門
Script入門1 | Script入門3

2. Script入門2

Taffy DBとは
  • JSONへのアクセスを補助するJavaScriptライブラリであり、
    SQLのように自由に検索、追加、更新が出来るようになる。

    入手先:Taffy DB
  
JSONとは
  • JavaScript Object Notation
    JavaScriptにおけるオブジェクトの表記法をベースとした
    軽量なデータ記述言語。

    テキストベースで記述可能であり、以下のフォーマットとなる。

    [
    {
    "id": "00001"
    "name": "sample_1"



    }
    ]
  
Taffy DBを使ってみる
  • まずは、Taffy DBのライブラリを入手します。
    入手先は上記に記載されていますので、ダウンロードして下さい。
    ※以下の説明で使用しているのは[Version 1.6.1]となっています。

    ダウンロードしたファイルを解凍し、その中のtaffy.jsというファイルを、
    Script入門1で外部ファイル読込の記述方法を使用し読み込みます。

    ・Taffy DBの作成
     Taffy DBを使用する場合、TAFFYオブジェクトを作成する必要があります。
    var data = new TAFFY(
    [
    { ・・・ 1レコード目
    id:"00001", ・・・ 項目名と値
    name:"sample_1" ・・・ 項目名と値



    },
    { ・・・ 2レコード目
    id:"00002", ・・・ 項目名と値
    name:"sample_2" ・・・ 項目名と値



    },



    ]);

     上記の記述方法では初期値として値が設定されていますが、
     初期値無しの記述も可能です。

    var data = new TAFFY([]);


    ・データの追加
     TAFFYオブジェクトにデータを追加するにはinsert関数を使用します。
    var data = new TAFFY([]);
    data.insert(
    {
    id:"00003",
    name:"sample_3"



    }
    );


    ・データの更新
     TAFFYオブジェクト内のデータを更新するにはupdate関数を使用します。
    // インデックス指定
    data.update(
    {
    id:"00004",
    name:"sample_4"



    },
    2 ・・・ インデックス番号
    );

    // 検索条件指定
    data.update(
    {
    id:"00004",
    name:"sample_4"



    },
    data.find( ・・・ 検索結果
    {
    id:{equal:"00001"} ・・・ 検索条件
    }
    )
    );

     更新対象のインデックス番号(配列も可)を指定するか、
     検索条件にヒットしたレコードを対象とするかの2通りある。


    ・データの検索
     TAFFYオブジェクト内のデータを更新するにはfind関数を使用します。
    // 条件:idが00001と等しい
    data.find(
    {
    id:{equal:"00001"} ・・・ 検索条件
    }
    );

    // 条件:idに2が含まれるもの(部分一致)
    data.find(
    {
    id:{like:"2"} ・・・ 検索条件
    }
    );


     検索条件には複数項目設定することが可能だが、アンド条件となる。
     また、項目ごとに「等しい」「含む」「含まない」等の条件を設定する。

     設定可能な条件
    equal : 一致
    startswith : 前方一致
    endswith : 後方一致
    greaterthan : より大きい (数値限定)
    lessthan : より小さい (数値限定)
    has : オブジェクト、テキスト、キーを含んでいるか
    hasAll : 配列で定義されたすべてのオブジェクト、テキスト、キーを含んでいるか
    regexppass : 正規表現一致
    like : 部分一致
    notlike : 部分不一致
    isSameObject : 同じオブジェクト形式
    isSameArray : 同じ配列形式
    length : 文字数が等しい

     さらに、型によるフィルタリングも可能である。
     条件に加える場合、以下のうように記述する。
    // 条件:nameがString型か
    data.find(
    {
    name:{isString:true} ・・・ 検索条件
    }
    );


     設定可能な条件
    isString : 文字列かどうか
    isNumber : 数かどうか
    isArray : 配列かどうか
    isObject : オブジェクトかどうか
    isBoolean : Booleanかどうか
    isFunction : 関数かどうか
    isNull : Nullかどうか
    isUndefined : 未定義かどうか
    isNumeric : 数値かどうか
    isTAFFY : TAFFYかどうか

    今回は追加・更新・検索についてまとめました。
    次回は削除・取得・ソート・ループについてまとめます。


    <次回は「Script入門3」です。>
  
 
Script入門1 | Script入門3