- Передать хранилище в конструктор:
const orm = new ORM(localStorage);
По умолчанию используется localStorage
- Унаследовать
entity/Entity
:
require('entity/Entity');
class MyEntity extends Entity
{
constructor() {
super("table_name");
}
}
- Примеры использования:
let Player = new Player();
player.name = 'Super Player';
let orm = new ORM();
let result = orm
.with(player)//Привязываем экземпляр сущности унаследованной от `entity/Entity`
.getAll();//Получаем все записи
limit
используется для ограничения количества получаемых записей
offset
используется для указания смещения внутри выборки записей
let result = orm
.with(player)
.getAll(10);//Получаем 10 записей
let single_player = orm
.with(player)
.getOne(1);//Получаем одну запись
Для удаления записи, объект должен содержать идентификатор. Идентификатор присваивается объекту автоматически при добавлении записи
orm.with(single_player).delete();//Удаляем запись
Для обновления объекта достаточно изменить одно или несколько полей и вызвать метод update()
single_player.name = 'Updated name';
orm.with(single_player).update();//Обновляем запись
Для добавления записи, создайте экземпляр нужной сущности и заполните его поля
Обратите внимание, поле id зарезервировано и не может быть использовано.
orm.with(player).insert();//Добавляем запись
Для поиска по записям используется метод findAll()
который принимает два параметра:
-
conditions
объект для хранения условий поиска, вида:
{id: (id) => id === 3}
-
limit
ограничение количества получаемых записей, по умолчанию равно 0 (не ограничивать).