Novice Prime Minister

    mongoose-crud-helper

    0.1.32 • Public • Published

    mongoose-crud-helper

    A simple helper library for Mongoose projects.

    Installation

    npm install mongoose-crud-helper

    Configuration

    Sample usage scenarios are explained below.

    Changes to Model.js

    You can directly code this to your model.

    // Require the plugin in the top.
    const MCHelper = require('mongoose-crud-helper');
     
    // Add below after schema definition as required.
    SchemaName.plugin(MCHelper.changeDocStatus);
    SchemaName.plugin(MCHelper.getAllDocs);
    SchemaName.plugin(MCHelper.getOneDoc);

    Usage

    You can directly code this to your controller.

    1.changeDocStatus

    const data = {
      _id:<Your-Object-ID>, // ObjectId
      status: '<New-Status>' // String (active, deleted, pending)
    }; // Object
     
    Model.changeDocStatus(data).then(function(response){
      // Your code here
    });

    2.getAllDocs

    More info on customLabels referenced below is available at mongoose-paginate-v2

    const where = {"$in": {status: ['active','pending']}}; // Object
    const fieldsToDisplay = {postName: 1, description: 1, createdOn: 1 }; //Object
    const myCustomLabels = {
        docs: 'data',
        nextPage: 'next',
        prevPage: 'prev',
        totalPages: 'pageCount'
    };
     
    const options = {
      select: fieldsToDisplay, // Object
      page: 1, // Number
      limit: 10, // Number
      lean: false, // Bool
      sortBy: 'createdOn', // String
      sortOrder: 'desc', // String
      populate: '', // String
      customLabels: myCustomLabels // Object
    }; // Object
     
    Model.getAllDocs(where, options).then(function(response){
      // Your code here
    });

    3.getOneDoc

    const where = {"$in": {status: ['active','pending']}}; // Object
    const fieldsToDisplay = {postName: 1, description: 1, createdOn: 1 }; //Object
     
    Model.getOneDoc(where, fieldsToDisplay).then(function(response){
      // Your code here
    });

    4.hardDelete

    const where = {"_id": ObjectId('57f79499cd3aa1000a5643b7')}; // Object
     
    Model.hardDelete(where).then(function(response){
      // Your code here
    });

    5.softDelete

    const where = {"_id": ObjectId('57f79499cd3aa1000a5643b7')}; // Object
     
    Model.softDelete(where).then(function(response){
      // Your code here
    });

    Install

    npm i mongoose-crud-helper

    DownloadsWeekly Downloads

    9

    Version

    0.1.32

    License

    MIT

    Unpacked Size

    8.11 kB

    Total Files

    10

    Last publish

    Collaborators

    • aravindnc