🎇IndexedDB 세미나를 위한 자료조사한 내용 입니다. 🎇
JSON.stringify
, JSON.parse
와 같은 함수가 꼭 필요하다.ZangoDB :
localForage
localforage.setItem('key', 'value', function (err) {
// if err is non-null, we got an error
localforage.getItem('key', function (err, value) {
// if err is non-null, we got an error. otherwise, value is the value
});
});
간단한 쿼리
ex ) ✔ select 문을 적용하는 방법
Select * From Table_Name
Where
Column1=some_value
and
Column2=some_another_value;
await db.friends
.where("name").equalsIgnoreCase("josephine")
.each(friend => {
console.log("Found Josephine", friend);
});
// 체이닝 형식으로 조건을 적용
var results = await connection.select({
from: "Table_Name",
where: {
column1: some_value,
column2: some_another_value
}
});
//results will contains no of rows deleted.
console.log(results);
// 객체 형태로 조건을 지정해서 typescript 와 사용하기에 알맞은거 같음
await db.collection["sometable"].find(selector, options).fetch()
idb
idb-keyval
schemaBuilder.createTable('Item').
addColumn('id', lf.Type.INTEGER).
addColumn('description', lf.Type.STRING).
addColumn('deadline', lf.Type.DATE_TIME).
addColumn('done', lf.Type.BOOLEAN).
addPrimaryKey(['id']).
addIndex('idxDeadline', ['deadline'], false, lf.Order.DESC);
mySQL 을 사용하는 중인 우리와 잘 맞는 JsStore 와 유사한 규칙을 가진 Dexie.js 두개를 다 사용해서 적용해 본 결과 사실 이 둘다 비동기 방식으로 동작하기 때문에 초기로드 속도에 영향을 줄수있는 것으로 판단되어 그냥...localStorage 을 사용하였습니다 🤣
하지만 이러한 다양한 라이브러리를 찾고 적용해보면서 재밌고 좋은 경험을 해봤습니다 공부하고 적용해볼수있는 충분한 시간을 주신 팀원분들께 감사의 말씀을 드리며 마무리..~