1.2.3 • Published 5 years ago

jrfdb v1.2.3

Weekly downloads
1
License
MIT
Repository
github
Last release
5 years ago

JRFDB


jrfdb

Installation

$ npm i jrfdb --save

Это async/await mongoDB odm для Nodejs. Состоит из модели и схем.

jrfdb - Cодержит схемы.

scheme - Схема содержит структуру коллекции mongoDB. Коллекции схем могут принадлежать разным базам, на разных серверах.

CRUD - При добавлении и редактировании документ проверяется на соответствие схеме.

При получении документа, вместо dbref ссылки подставляется документ.

При удалении, проверяется есть ли ссылки на данный документ, если есть, то документ не удаляется.

hooks - В каждой схеме можно установить хуки до и после CRUD операции.

Usage

const jrfdb = require('jrfdb');

// ----------- SCHEMES -----------

let typeBodys = {
    name: 'typeBodys',
    fields: {
        name: {
            description: 'Name',
            type: 'string',
            unique: true
        }
    }
};

let typeBags = {
    name: 'typeBags',
    fields: {
        name: {
            description: 'Name',
            type: 'string',
            unique: true,
            min: 3,
            max: 20
        }
    }
};

// ----------- INIT DB -----------

async function initDB() {

    await jrfdb.addScheme(typeBodys);
    await jrfdb.addScheme(typeBags);

    let scheme = await jrfdb.getScheme('typeBags');
    scheme.setConnection({db: 'jrfThingsTests'});

    await jrfdb.connect();

}

// ----------- ADD DOCS -----------

async function createBody() {

    let scheme = await jrfdb.getScheme('typeBodys');

    let obj = {
        docs: {name: 'coupe', _id: '5b706ac8453a393a68c4f943'}
    };

    let res = await scheme.add(obj);

}

async function createFiveBags(key) {

    let scheme = await jrfdb.getScheme('typeBags');

    let obj = {
        docs: [{name: 'suitcase'}, {name: 'handbag'}, {name: 'package'},
            {name: 'bag'}, {name: 'sack'}]
    };

    let res = await scheme.add(obj);

}

jrfdb

scheme

Example

Simplechat is an example of using packages of jrfdb and jrfws (api websockets).

chat

1.2.3

5 years ago

1.2.2

5 years ago

1.2.1

5 years ago

1.2.0

6 years ago

1.1.10

6 years ago

1.1.9

6 years ago

1.1.8

6 years ago

1.1.7

6 years ago

1.1.6

6 years ago

1.1.5

6 years ago

1.1.4

6 years ago

1.1.3

6 years ago

1.1.2

6 years ago

1.1.1

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago