query-builder-redis

1.3.2 • Public • Published

query-builder-redis

Version Downloads/week

lib query data through query builder by mongoose and redis

Installation

Install NPM

$ npm i query-builder-redis --save

Example import

Use query builder redis

const { queryBuilderRedis } = require('query-builder'); 
or 
const queryBuilderRedis = require('query-builder').queryBuilderRedis;

Use query builder mongoose

const { queryBuilder } = require('query-builder'); 
or 
const queryBuilderRedis = require('query-builder').queryBuilder;

Config on env file

REDIS_PORT=6379 (port redis)
REDIS_HOST=redis (ip host)
REDIS_DB=0

Config on docker (optional)

  redis:
    image: redis:5.0.3
    restart: always
    ports:
      - 6379:6379
    volumes:
      - redis-data:/data
volumes:
  redis-data:
    driver: local

Example use

const res = await queryBuilderRedis.getQuery(model, Query, 60);
or
const res = await queryBuilder.getQuery(model, Query);

Support

Arguments Query Description Exp
getList { find: {}, offset: 1,size: 10,sort: { updateAt: 1 }} Can use select = {Object} and String and populate = {Object} getList(model, query,select, exp) exp = [int]
getQuery {Object} Can use select = {Object} and String and populate = {Object} getQuery(model, query, select, populate, exp) exp = [int]
getById {Object} Can use populate = {Object} getById(model, query, populate, exp) exp = [int]
getOne {Object} Can use populate = {Object} getOne(model, query, populate, exp) exp = [int]
getAllSoftDeleteOnly {Object} Can use populate = {Object} get only data status = true getAllSoftDeleteOnly(model, query, populate, exp) exp = [int]
getOneSoftDeleteOnly {Object} Can use populate = {Object} get only data status = true getOneSoftDeleteOnly(model, query, populate, exp) exp = [int]
getOneSoftDelete {Object} Can use populate = {Object} get all data getOneSoftDelete(model, query, populate, exp) exp = [int]
getAllSoftDelete { find: {}, sort: { updateAt: 1 }} Can use select = {Object} and can use populate = {Object} get all data getAllSoftDelete(model, query, select, populate, exp) exp = [int]
create {Object} ... create(model, data)
update id, {Object} func(model, id, {data}) update(model, id, data)
destroy id ... destroy(model, id)
softDelete id Change status deleted to true softDelete(model, id)
restore id Change status deleted to false after soft delete restore(model, id)
getTotal {Object} Count documents getTotal(model, query, exp) exp = [int]
destroyMany {Object} ... destroyMany(model, data)
getPagination {Object}, page = 1, perpage = 10 Get pagination func({data}, page, perpage) getPagination(model, query, page, perpage, exp) exp = [int]
aggregateQuery {Object} Can use script aggregate mongoose aggregateQuery(model, data, exp) exp = [int]
clearKeyRedis Clear key redis all clearKeyRedis()
getKeyRedis Get all key redis getKeyRedis()
clearKeyRedisById key Clear redis by key clearKeyRedisById(id)

Mock Test Jest

jest.mock('handy-redis', () => ({
  createHandyClient: jest.fn(() => ({
    get: jest.fn(),
    set: jest.fn(),
    del: jest.fn(),
    keys: jest.fn()
  }))
}));

Package Sidebar

Install

npm i query-builder-redis

Weekly Downloads

0

Version

1.3.2

License

MIT

Unpacked Size

17 kB

Total Files

7

Last publish

Collaborators

  • eyeofcode