でも、boolean型のデータは登録・取得できる。
登録・取得できるものだから、てっきり
IDBKeyRange.only(true)
とかできるのかと思ったらできなかった。その対処方法をまとめていく。
IndexedDBで使用できるKey
- Number primitive value
- String primitive value
- Date object
- Array object
Array型だけはちょっとだけクセがあるみたいだけど、使えるのはこの4つだけ。
詳しくは、Indexed Database API - Keys を参照しいてほしい。
booleanの代わりに「0」と「1」を使う
幸いにも、JavaScriptは「0をfalse」「1をtrue」として判定してくれるので簡単に使える。
クリックしたらtrue→false、false→trueにするデータなら、以下のように実装できる。
var toggle = 0;
$('#data').click(function() {
toggle = toggle ? 0 : 1;
});
var range = IDBKeyRange.only(toggle);
上記みたいに変換して使うことができる。
参考サイト
- Indexed Database API – Keys
- javascript - Why IDBKeyRange.only() does not allow boolean? - Stack Overflow
- google chrome - IndexedDB - boolean index - Stack Overflow
- JavaScript ことはじめ
以上
written by @bc_rikko
0 件のコメント :
コメントを投稿