Матвей Земсков

Заметки веб-мастера

Пятница, 23 августа 2013 14:59

LocalStorageDB работаем с localStorage как с базой данных

Оцените материал
(2 голосов)

LocalStorageDB – крошечная javaScript-библиотека надстройка над localStorage (и sessionStorage). По сути — это набор функций, которые обеспечивают хранение структурированных данных так, как в таблицах базы данных. Это позволяет осуществлять основные операции над данными: добавление, изменение, удаление (INSERT, UPDATE, DELETE). LocalStorageDB не зависит от других библиотек и никак не связано с БД WebSQL. Данные хранятся в виде сериализованного JSON в LocalStorage (или sessionStorage).

В таблице перечислены основные методы библиотеки LocalStorageDB.

МетодАргументыОписание
localStorageDB() database_name, storage_engine Конструктор
- значение storage_engine может быть либо localStorage(по-умолчанию), либо sessionStorage
isNew()   Возвращает true, если база данных создана в момент вызова метода-конструктора
drop()   Удаляет базу данных и вычищает ее из localStorage
tableCount()   Возвращает количество таблиц в базе данных
commit()   Помещает базу данных в localStorage
serialize()   Возвращает всю базу данных как сериализованный JSON
tableExists() table_name Проверяет присутствует ли указанная таблица в базе данных
createTable() table_name, fields Создает таблицу. Имена полей передаются в виде массива. “ID” – зарезервированное имя
dropTable() table_name Удаляет таблицу из базы данных
truncate() table_name Очищает все записи в таблице и обнуляет auto-increment поле “ID
rowCount() table_name Возвращает количество записей в таблице
insert() table_name, data Добавляет запись в таблицу и возвращает ее числовой идентификатор (“ID”)
data – объектный литерал содержащий пары «имя поля» — «значение».
Каждой записи автоматически присваивается идентификатор
query() table_name, query, limit Возвращает массив записей (объектный литерал) из таблицы, согласно запросу.
query – может быть объектным литералом или иметь значение null
limit – максимальное количество записей, которые могут быть возвращены
Каждый элемент массива будет иметь свой идентификатор из таблицы, который будет присвоен переменной ID
update() table_name, query, update_function Изменяет существующие записи в таблице, согласно запросу и возвращает количество измененных записей.
query – объектный литерал или функция. Если этот аргумент отсутствует, то изменяются все записи
update_function – функция, которая возвращает объектный литерал с измененными значениями
insertOrUpdate() table_name, data, query Добавляет данные в таблицу, если в таблице нет таких данных или обновляет их, если данные присутствуют в таблице.
query – объектный литерал, функция или null
data – объектный литерал, содержащий пары «имя поля» - «значение».
Возвращает идентификатор добавленной записи, в случае добавления или массив идентификаторов измененных записей.
deleteRows() table_name, query Удаляет записи из таблицы, согласно запросу и возвращает количество удаленных записей
query – объектный литерал или функция. Если аргумент отсутствует, то удаляются все записи

Подробнее ознакомиться с LocalStorageDB и посмотреть примеры использования можно здесь: http://nadh.in/code/localstoragedb/

Оригинал статьи - http://www.coolajax.net/post/localstoragedb-a-tiny-database-layer-for-localstorage.html

Перевод Матвей Земсков

Прочитано 3889 раз
Добавить комментарий

Комментарии   

 
0 # Сергей 19.01.2016 12:19
Случайно наткнулся на вашу статью. Очень хорошая библиотечка. Спасибо большое.
Ответить | Ответить с цитатой | Цитировать
 
 
0 # Матвей 19.01.2016 13:41
Пожалуйста! :)
Ответить | Ответить с цитатой | Цитировать
 
Мои услуги

Предлагаю следующие услуги:

  • Верстка шаблона сайта из дизайн-макета для CMS «1С-Битрикс Управление сайтом» и CMS “Joomla”
  • Создание форм различной сложности (обратная связь, анкеты и тп) для указанных CMS
  • Настройка и кастомизация компонентов и модулей для указанных CMS
  • Доработка модулей и компонентов для указанных CMS, добавление нестандартного функционала
  • Разработка лендингов (landing-pages)

По все вопросам обращайтесь через форму обратной связи

Скачать

Предлагаю вашему вниманию: