Using Maps

All map entries must be of the same type. Regardless of the type of the map's values, its keys are always strings.

The string "[]" is reserved and must not be used for key names.

When you declare a table field as a map, you use the MAP() statement. You must also declare the map element's data types.

To define a simple two-field table where the primary key is a UID and the second field contains a map of integers, you use the following DDL statement:

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

CHECK constraints are supported for map fields. See CHECK for more information.

DEFAULT and NOT NULL constraints are not supported for map fields.

To write the map:

   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.");
                }
           }); 

To read map 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();
                }
           });