マップの使用

すべてのマップ・エントリは同じ型である必要があります。マップの値の型にかかわらず、キーは常に文字列です。

文字列「[]」は予約されていて、キー名に使用することはできません。

表のフィールドをマップとして宣言する場合、MAP()文を使用します。マップ要素データ型も宣言する必要があります。

主キーがUIDで2番目のフィールドに整数のマップを持つシンプルな2つのフィールドの表を定義するには、次のDDL文を使用します。

CREATE TABLE myTable (
    uid INTEGER,
    myMap MAP(INTEGER),
    PRIMARY KEY (uid)
) 

マップ・フィールドでは、DEFAULTおよびNOT NULL制約はサポートされていません。

マップに書き込むには、次のようにします。

   var mmap = {field1: 1, field2: 2, field3: 3};
   var row = {uid: 0,
              myMap: mmap
             };

   store.put('myTable', row,
           function (err) {
                if (err)
                    throw err;
                else {
                    console.log("Row inserted.");
                }
           }); 

マップのfield2を読み取るには、次のようにします。

   var primaryKey = {uid: 0};
   store.get('myTable', primaryKey,
           function (err, returnRow) {
                if (err)
                    throw err;
                else {
                    console.log(returnRow.currentRow.myMap.field2);
                    store.close();
                }
           });