JSONの使用

JSONデータ型はプレビュー機能として使用できます。

JSONデータ型は、主キーまたはシャード・キーの一部として使用できません。このリリースでは、索引に加えることもできません。

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

CREATE TABLE myJsonTable (
    uid INTEGER,
    myJSON JSON,
    PRIMARY KEY (uid)
) 

このデータ型に対して書き込むデータは、文字列として格納された任意の有効なJSONにすることができます。たとえば、次のすべてが有効です。

var jsonNumber = "2";
var jsonString = "\"a json string\"";
var jsonObject_null = "{}";
var jsonObject = "{\"a\": 1.006, \"b\": null," +
                 "\"bool\" : true, \"map\": {\"m1\": 5}," + 
                 "\"ar\" : [1,2.7,3]}";
var jsonNull = "null"; 

前述のように定義した表にJSON値を格納するには、次のようにします。

  var row = {uid: 0,
             myJson: "[1,2.8,1001,322987]",
             };

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

取得するには、次のようにします。

   var key = {};

   store.tableIterator('myJsonTable', key, null,
           function (err, iterator) {
                if (err)
                    throw err;
                else {

                    // Configure Iterator event done
                    iterator.on('done', function() {
                        store.close();
                    });

                    console.log("Retrieved rows:");

                    iterator.forEach(function (err, returnRow) {
                        if (err)
                            throw err;
                        else
                            console.log(returnRow.row);
                            console.log('\n');
                    });
                }
           });