Реализация репозитория для работы с базами данных

e22m4u 55f4c0ab6d chore: updates README.md 2 лет назад
.husky d2c55fccc0 chore: revert "builds as cjs" 2 лет назад
src e90312d348 fix: tests of hasMany relation, relation typings and README.md 2 лет назад
.c8rc dbff18d833 chore: initial commit 2 лет назад
.commitlintrc dbff18d833 chore: initial commit 2 лет назад
.editorconfig dbff18d833 chore: initial commit 2 лет назад
.eslintignore 730af0ba6c chore: adds *.d.ts 2 лет назад
.eslintrc.cjs 85139bcc41 chore: adds *.d.ts 2 лет назад
.gitignore dbff18d833 chore: initial commit 2 лет назад
.mocharc.cjs dbff18d833 chore: initial commit 2 лет назад
.prettierrc dbff18d833 chore: initial commit 2 лет назад
LICENSE dbff18d833 chore: initial commit 2 лет назад
README.md 55f4c0ab6d chore: updates README.md 2 лет назад
mocha.setup.js dbff18d833 chore: initial commit 2 лет назад
package.json 01012e39c2 chore: updates README.md 2 лет назад
tsconfig.json 771d9e379e chore: renames to @e22m4u/js-repository and fixes d.ts files 2 лет назад

README.md

@e22m4u/js-repository

Модуль для работы с базами данных для Node.js

Установка

npm install @e22m4u/js-repository

Опционально устанавливаем адаптер. Например, если используется MongoDB, то для подключения потребуется установить адаптер mongodb как отдельную зависимость.

npm install @e22m4u/js-repository-mongodb-adapter

Список адаптеров:

описание
memory виртуальная база в памяти процесса (не требует установки)
mongodb MongoDB - система управления NoSQL базами (установка)

Введение

Модуль позволяет объединить несколько баз данных в единую систему с помощью следующих абстракций:

  • Схема - экземпляр класса Schema хранит определения источников и моделей.
  • Источник - определяет адаптер для подключения к базе данных и его настройки.
  • Модель - описывает структуру документа и связи к другим моделям.
  • Репозиторий - интерфейс для чтения и записи документов определенной модели.
flowchart TD

  A[Схема]
  B[Источник 1]
  C[Источник 2]
  A-->B
  A-->C
  
  D[Модель A]
  E[Модель Б]
  F[Модель В]
  G[Модель Г]
  B-->D
  B-->E
  C-->F
  C-->G

  H[Репозиторий A]
  I[Репозиторий Б]
  J[Репозиторий В]
  K[Репозиторий Г]
  D-->H
  E-->I
  F-->J
  G-->K

Тесты

npm run test

Лицензия

MIT