JSのIndexedDB APIを使う(dexie.js)
RDBのようにデータを読書できる。
成果物
情報源
やったこと
- DB作成
- レコードの追加・変更・削除
コード
要点のみ抜粋する。
dexie.jsを入手する。
index.html
<script src="https://unpkg.com/dexie@latest/dist/dexie.js"></script>
DBの作成。
VERSION = 1 const db = new Dexie("SocialDB"); db.version(VERSION).stores({ friends: "name,age" // key, index });
データの追加・更新。
db.friends .put({ name:"山田", age: 20, address: "日本" }) .catch((error)=>{ console.error(error); });
データの取得。
db.friends.get("山田") .then((friend)=>{ console.log(friend); }) .catch((error)=>{ console.error(error); });
データの削除。
db.friends.delete("山田") .then((friend)=>{ console.log(friend); }) .catch((error)=>{ console.error(error); });
ほかにもそれぞれを一括で処理するbulk
系メソッドがある。
課題
where()
and()
or()
transaction()
ほかにもRDBの機能が色々ある。列の型を定義するとか。
マイグレーション問題もある。テーブルに列を追加したとき、新しいテーブルへデータ移行する。その処理をどうするか。
課題はやらない。必要になり次第やる。
所感
簡単に使えていい感じ。でも複雑なことをやろうとすると大変そう。
対象環境
- Raspbierry pi 4 Model B
- Raspberry Pi OS buster 10.0 2020-08-20 ※
- bash 5.0.3(1)-release
$ uname -a Linux raspberrypi 5.4.83-v7l+ #1379 SMP Mon Dec 14 13:11:54 GMT 2020 armv7l GNU/Linux