マップの使用
すべてのマップ・エントリは同じ型である必要があります。マップの値の型にかかわらず、キーは常に文字列です。
文字列「[]」は予約されていて、キー名に使用することはできません。
表のフィールドをマップとして宣言する場合、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();
}
});